Royal Revolution

Can you believe that? More than 10 years ago, on October 26th back in 2003, I released the first public version of Royal TS and it looked like this:

As promised in this blog post, a little background story about the name and the tool itself. I hope you enjoy…

Why bothering writing an RDP client?

My main motivation to write a tool like this was the poor implementation of Microsoft’s RDP MMC snap-in. At the time Microsoft’s client didn’t expose much of the available settings and the MMC lacked something basic like the “Connect to Console” switch. While you could do most stuff with mstsc.exe, I have found it very limiting and not very user friendly to work with multiple sessions at the same time. After I realized that the ActiveX control offers most switches and allows me to host multiple sessions in an Explorer-like single-window interface, I decided to write my own little app for that.

My programming experience on Windows at the time was mainly VB and I already started to look at VB.NET (which was still very new) but I wanted to dive into C#. I’ve done a lot of Perl scripts for automation, so curly braces and a C-like language didn’t really bother me. In retrospect, Royal TS was purely a learning project for me to get used to C# and the .NET framework. Looking at the early code now makes me blush…

After a couple of weeks, the app was ready to use and mostly stable. I felt I could release it to the public as there was literally no tool out there which provided the functionality and user friendly workflow when it came down to RDP-ing into remote machines.

But what should I call it?

I thought a lot about the name but all I knew was that it’s just a “better” terminal services (TS) client. I can’t really recall who suggested Royal TS but as soon as I heard it, I thought it would be perfect. The name not only sounds “kingly”, it also had a familiar ring. In the German speaking area here in Europe, a rather well known fast food chain offers a burger called “Royal TS” (which is basically a quarter-pounder with cheese and TS stands for tomato and salad). This should also explain the icon back in the days…

Royal TS as Freeware

Here are the highlights showing the evolution of Royal TS 1.0 up to 1.5.1 (which is the last available freeware version):

  • Terminal session list to see who is connected.
  • “Connect to Console” option.
  • Connection list with bulk-edit functionality.
  • Ability to send message to a remote session or reset a remote session.
  • Sorting.
  • Quick-Add from the toolbar.
  • Password protection for documents.
  • Got sick of the burger icon.
  • TS Gateway support.
  • Minimize to SysTray.
  • External Window mode.
  • Automatically load document on startup.

From Freeware to Shareware

For more than 5 years, Royal TS was “Freeware” and could be used freely for personal or commercial use. I accepted donations though. A lot of my friends were trying to convince me to make more with Royal TS and ask for money instead of giving it away for free. For a long time, Royal TS was just a hobby and I couldn’t really invest much time. Additionally, I felt that much more must be done before I even think about asking for money.

Icon History

Before I ask people to pay a shareware fee, I wanted to implement some important missing features (like password protection for documents and gateway support) in the last free version (1.5.1 – which is still available for free!). I really didn’t want users feel left alone after such a long time with Royal TS available for free. When I communicated the plan to go shareware, I also got a lot of emails from users with a couple of machines, begging for a free version with a connection limit. I thought that is reasonable. I never liked the idea of having a crippled down version or a 30 day trial period and afterwards you have to either buy or leave. I felt, having all features available, even to admins with small environments for free is a much better approach. Users can thoroughly test all features and use it for free as long as they want. No trial expiration, no nag screens, only a friendly reminder that if you need more than 10 connections, pay a small shareware fee to remove the connection limit.

The last free release of Royal TS (1.5.1) was overwhelming. At that time, I ran my web server at home in my basement with a fairly limited internet uplink. In just two days, I had more than 55.000 downloads – needless to say that my uplink was glowing. I was struggling to keep my server available and realized that this needs to change quickly…

What was the Response?

I was fully aware that a lot of people wouldn’t be happy about my plan going shareware but I was kind of surprised about the emails I got. Almost every email was about encouraging me and welcoming the idea of asking for a small fee. I even got emails like “I’m really glad you are now asking for money because it means Royal TS is here to stay for a while longer”. This was clearly not what I expected! I only got two (!) emails from users who expressed their disappointment. This doesn’t mean that only two users were unhappy about it but I expected a much higher number here…

2009, the year of Royal TS 1.6

In 2009, I dedicated much more time in Royal TS, here are some highlights:

  • Introduced tasks to execute command lines and the use of replacement tokens.
  • Additional RDP properties (like DirectX, Desktop Composition, Clipboard Sharing, Audio Capture, Font Smoothing, and more).
  • Bulk-connect and bulk-disconnect
  • Authentication Level and Network Level Authentication (NLA) support.
  • Custom Fields and Notes
  • Connect and Disconnect tasks.
  • Full Screen mode and switch between window modes.
  • Connect with Options menu.
  • Drag and drop support for re-ordering items in the tree.

2010, the year of Royal TS 1.7

The highlights of Royal TS 1.7:

  • Search and filtering of connections.
  • Hyper-V dashboard and console connection support.
  • Folder level credentials.
  • Ability to set the keyboard layout for the remote session.
  • Ability to take a screenshot of the remote session.
  • Ability to type the clipboard text (for Hyper-V console connections).

The Road to V2

During 2010 and 2011 I already worked on V2. It was an ambitious project. A lot of user feedback, even from the early days of Royal TS, was accumulated and triaged. It was huge. Users wanted to have more flexibility in organizing things, having credential management on board and foremost offering additional connection types. It was clear to me that a complete rewrite with an extendable architecture was needed and it was also clear to me that I couldn’t do it all alone. I was able to get help from some awesome people who also believed in a bright and shining future of Royal TS. In a team of three, we worked for almost two years on V2. Everyone who followed our blog could see how ideas evolved and how decisions were made. Early on, we provided beta versions and asked for user feedback and what you see now, is the result of great community work! We had a good idea how V2 should look like but in the end, Royal TS users were shaping Royal TS the way it is now.

Mac OS X, iOS, Android: Royal TS going Cross-Platform

blog_crossplatform

After the V2 release, we worked hard on V2.1 to provide a terminal connection type for Royal TS. Out of the blue, I got a contact request on one of the social networks from Felix who wanted to meet with me. The name was familiar but I didn’t really know him. After a quick search on the web, I realized he was the guy who wrote mRemote – which was very similar to what I wanted to achieve with Royal TS V2. It turns out that he wanted to do something similar for OS X. After a couple of meetings we realized that we share the same passion: writing software with an eye for the details. After a year of Royal TSX development, Felix released V1. For the first time in the industry, you could now share the same document of connections and credentials across multiple platforms in a team with full server-less sync support! I think this accomplishment is truly amazing and I’m very proud I could be part of it.

About Me

I’m a husband and a father of two girls and a boy. I’m a Microsoft MVP (for System Center Cloud and Datacenter Management) and engaged in many local and online communities. I’m also running the local System Center user group – which I really enjoy. It keeps me on tabs what users really need and wish for in the industry. I’m the founder of code4ward.net (est. 1999), an Austrian based, privately held company providing consulting services and software development. Royal TS is my passion and we still have a lot of ideas. You can expect many useful and new things in the upcoming months and years. Stay tuned…

Big Thanks!

First, I want to thank my wife and family for their support. I can imagine, it’s not easy for “normals” to be married to a geek. Big, big thanks to Thomas Grohser, Michael Seirer and Felix Deimel for working on Royal TS/X. I’ve learned a lot from those guys and without their help, Royal TS – as it is today – wouldn’t be possible. I’m really happy and grateful that I can work with those awesome guys who are true friends and professionals.

However, Royal TS is a direct result of user feedback. Therefore, big, big, big thanks to all of you!

cheers, Stefan

Previous Post Next Post