Synergy Roadmap

This page describes the planned development of Synergy. There are no dates or deadlines. Instead, you'll find the features to come and the rough order they'll arrive.

Short term

Synergy should work seamlessly. When it works correctly, it works transparently so you don't even think about it. When it breaks, you're forced out of the illusion of a unified desktop. The first priority is fixing those bugs that break the illusion.

Some of these bugs are pretty minor and some people would rather have new features first. But I'd rather fix the current foundation before building on it. That's not to say features won't get added until after bug fixes; sometimes it's just too tempting to code up a feature.

The highest priority feature is currently splitting synergy into front-ends and a back-end. The back-end does the real work. The front-ends are console, GUI, or background applications that communicate with the back-end, either controlling it or receiving notifications from it.

On win32, there'd be a front-end for the tray icon and a dialog to start, stop, and control the back-end. OS X and X11 would have similar front-ends. Splitting out the front-end has the added benefit on X11 of keeping the back-end totally independent of choice of GUI toolkit (KDE, Gnome, etc.)

One can also imagine a front-end that does nothing but put monitors into power-saving mode when the cursor is not on them. If you have one monitor auto-senses two inputs, this would automatically switch the display when you move the cursor to one screen or another.

Medium term

Some features fit well into Synergy's current design and may simply enhance it's current capabilities.

A popup menu would be new for Synergy, which currently doesn't have to do any drawing. That opens up many possibilities. Ideally, front-ends request hot keys from the back-end and then tell the back end what to do when they're invoked. This keeps the back-end independent of the user interface.

Long term

Two features stand out as long term goals:

The first feature means sharing a monitor or monitors the way the keyboard and mouse are shared. With this, Synergy would be a full KVM solution. Not only would it support a few computers sharing one screen (still using the mouse to roll from one screen to another), but it should also support dozens of computers to provide a solution for server farm administrators. In this capacity, it may need to support text (as opposed to bitmap graphics) screens.

The second feature would enhance the unified desktop illusion. It would make it possible to drag a file and possibly other objects to another screen. The object would be copied (or moved). I expect this to be a very tricky feature.