This article describes our enhancements to the Microsoft Remote Desktop Protocol (RDP) for Windows, iOS, Android, macOS, and Linux remote desktop clients. We provide new approaches for improving the user experience in remote sessions.
The Microsoft Remote Desktop Protocol (RDP) is a proprietary protocol that provides users with remote access to a server running RDP server software.
We can’t do without Microsoft products. However, there are some cases when iOS, Android, Mac, or Linux devices are more effective because of corporate specifics or job requirements. Unfortunately, there are some applications that are compatible only with Windows and don’t have alternatives for iOS, Android, macOS, or Linux. In this case, it's reasonable to use terminal servers (or virtual desktop infrastructure) running on Microsoft server operating systems. For this purpose, Microsoft developed the Remote Desktop Protocol, or RDP.
In addition to data transfer protocols, Microsoft also has client applications for transferring data to remote desktops. The most popular Microsoft RDP clients are for Windows, macOS, Android, and iOS.
However, it’s impossible for Microsoft to implement every function that their users may want in their products. Fortunately, there's a sufficient number of custom RDP solutions for different platforms that eliminate the need to look for an alternative remote desktop client.
The experts at our company provide a wide range of solutions and enhancements for Microsoft RDP clients.
We can establish a remote Windows/Linux session or a RemoteApp on Windows, iOS, Android, macOS, and Linux. On top of that, we provide users with a range of additional functionality that ensures a more convenient and secure RDP workflow in remote sessions.
In addition to supporting standard RDP functions, we have our own set of RDP enhancements.
Our solution redirects Flash content from the remote server to the client. This implementation reduces the workload for the server processor and redirects Flash content to the client processor, ensuring better scalability and improved productivity with full synchronization of audio and video streams.
Our Flash content viewer lets you control Flash channel bandwidth and connect to the internet either from the client or the server.
This approach allows users to easily access Fash content such as educational and corporate video lessons as well as built-in flash videos on many websites.
Supported client platforms: Windows, macOS, Linux.
Using this function in the default RDP, you may face such problems as Flash content playing as a slide-show or audio and video lag.
We developed a single-driver printing solution for adding printing functions that aren’t available in RD Easy Print. Because our solution uses a universal printer driver, there's no need to install a printer driver on remote servers as is required with the regular RDP printing functionality.
This solution also has advanced RDP settings (which aren't available in Microsoft RDP) that let you choose the packaging method for transferring data, change channel workload, opt for manual printer selection (to select a printer session), and configure a distributed system.
Supported client platforms: Windows, macOS, Linux.
Our approach allows you to redirect any client USB devices to the remote session. These devices can be web cameras, printers, scanners, flash-disks, tablets, smartphones, or other devices such as Busy Light.
After being redirected to the remote session, the user of the remote session can interact with the USB device as if it were local.
Supported client platforms: Windows, Linux.
This function isn’t available in the original version of RDP, which only has an option to redirect PnP devices to the remote session using Windows RD client functions. However, not all USB devices are recognized as PnP.
How to Debug the Windows OS using USB
Enhanced remote audio redirection ensures high-quality bidirectional sound, allowing you to play high-quality audio content and redirect microphone inputs and headphone outputs to a remote session.
The advantage of our solution is that we don't limit you to using only standard codecs, but rather let you choose audio codecs according to your needs (be that a board meeting call, day-to-day phone calls, or playing high-quality songs). Using our solution, you'll get better sound with less network bandwidth and the opportunity to choose your quality.
Our solution is compatible with the following applications:
- Microsoft Office Communicator
- Avaya Software
- Skype and Skype for business
This function is very important for cases whenever audio is involved. For instance, our solution can be used during conference calls when people need to approve important business decisions, build a future business strategy, or pitch projects.
Supported client platforms: Windows, Linux.
Companies often simplify remote session configurations for their employees, providing them with only a website URL for running a remote session.
The session runs in a browser and allows user to access remote functionality using various office applications, taking part in group calls, watching educational videos, and so on.
We've successfully implemented remote sound redirection in remote sessions running on Internet Explorer, Edge, Safari, Firefox, Chrome, and other browsers for Windows, iOS, Android, Mac, and Linux clients.
It’s important that this implementation avoids long audio delays. Our specialists did a lot of work to achieve acceptable latency for users that's ~50–150 milliseconds depending on the network and environment.
Microsoft doesn’t provide any alternative RDP function for its clients.
Our clipboard for text (files) redirection feature overcomes limitations on sharing files and text between the client and the remote session.
This solution allows a user to copy a text from iOS, Android, macOS, and Linux devices and paste it to the remote session – and vice versa. It also lets users share files between Mac and Linux devices and the remote session.
Text and file copying isn’t available in some Microsoft RD clients.
This solution allows users to redirect the microphone from iOS, Android, Mac, and Linux devices to a remote session and use it for audio recording and calls.
Microsoft RD clients for iOS, Android, and macOS platforms don’t have functionality for microphone redirection.
Adaptive Graphics allows you to use a technology for remote session rendering so you can take advantage of RemoteFX adaptive graphics.
In addition to RemoteFX adaptive graphics, you can also use advanced codecs (H.264 clear+progressive) that significantly reduce bandwidth usage without loss of picture quality.
Adaptive graphics is supported by Windows operating systems starting from Windows Server 2012 and Windows 8.
Beginning with Windows 8, Windows 8.1, Windows 2012, and Windows Server 2012 R2 operating systems, Microsoft RDP uses only two streams:
Clear codec is used for text data by letting the operating system know that it's dealing with a text and transferring that data as text (this is typical for PDF, MS Office files, etc.).
Progressive codec is designed for pictures. The main advantage of this codec is that it allows you to send a picture at a lower quality and then render it to its initial quality.
AVC 444 is used as the one and only codec starting from Windows 10 and Windows Server 2016:
AVC 444 allows you to process text and pictures in one stream. This is achieved by compressing transferred data and reducing the network workload thanks to the increased processing workload on the server and the client (if a client has a dedicated graphics card).
Supported client platforms: Windows, iOS, Android, macOS, Linux.
The dynamic resolution feature is used when an iOS or Android device's orientation changes(for instance, from landscape to portrait). In this case, the remote session resolution will be automatically resized to fill the screen depending on the device's orientation.
Our solution allows the user to fully concentrate on the session workflow without paying attention to the device orientation. In simple words, we make the user workflow more comfortable.
The dynamic resizing feature isn’t available in the default Microsoft RD client for iOS.
This feature is also supported in Mac and Linux devices and activates in case the session or application window is resized (in which case the user doesn’t see a scroll bar for the session window as all data is seized according to the new screen size), the screen resolution is changed, or a display is plugged in or unplugged.
Dynamic resizing is performed without reconnecting to remote session with new operating systems like Windows Server 2012R2, Windows Server 2016, Windows 10, Windows 8.1.
Dynamic resizing requires reconnecting in old operating systems like Windows 7, Windows 8, and Windows Server 2008R2, and Server 2012.
The Microsoft RD client for macOS doesn’t support this feature. After a session window is resized in macOS, the user sees a scroll bar.
Tablets use touch screens and don’t require a physical keyboard and mouse. For more convenience, we implemented multitouch gestures in remote sessions, which are launched from iOS and Android clients.
Remote FX multitouch gestures allows you to use specific gestures to control the remote server (left/right click; select an area; move, drag or resize an object; scroll up and down; zoom in and out; quick zoom in and out, etc.). The feature is supported starting with Windows Server 2012 and Windows 8.
This function isn’t fully implemented in the Microsoft RD client for iOS or Android.
If you're looking for extended RDP functionality as part of your solution for remote desktop, our specialists can provide you with an SDK for our custom RDP solutions. We can also help you implement existing RDP enhancements in your solution or work on further developing this technology.