[forum] About our effort at NoMachine

forum@XFree86.Org forum@XFree86.Org
Sun, 23 Mar 2003 00:02:54 +0100

We spent last three years trying to make X so good as a network   
computing platform to compete in performances and functionalities   
with the leading proprietary technologies from Microsoft, Citrix and   
Tarantella. NX was made available few weeks ago. You can find   
all the modifications we did to the XFree86 code base as well all   
the additional components (for example the X compression libraries)   
at http://www.nomachine.com/dev_sources.php. Not only NX beats   
those products in performances, but aims to make X-Window the   
standard way to deploy applications to users of any OS.   
This is not the place to advertise our software, but just let me   
enumerate some facts:   
- NX provides X, RDP and VNC desktops trasforming   
  foreign protocols to X protocol.   
- NX is a complete X distribution for MS Windows   
- NX compresses X protocol (and foreign protocols)   
  to a degree that makes possible to run complete   
  desktop sessions on a remote server across the   
  Internet, even through a modem link. A TestDrive   
  server is available to the public. You can run a KDE   
  or GNOME session from there, just to try.   
- NX makes any Linux workstation a Terminal Server,   
  in the MS sense.   
- NX core software is based on XFree86, OpenSSH,   
  RDesktop, VNC and other OpenSource components.   
  All X related stuff developed by NoMachine has   
  been released under GPL.   
- NX higher level components are commercial software   
  but any company or good developer could implement   
  an OpenNX project in a few months, if not weeks.   
  We know we made a very good job and want to preserve   
  a competitive advantage, but it's our interest to   
  have competition. We want to push X and Linux as   
  a network computing platform. If X wins, we win.   
NX  embraces many aspects of X technology, from X protocol to   
libraries and session management. Unfortunately documentation is   
still poor and mostly oriented to end-users, not developers. We   
are working hard these days to fix the (many?) bugs that are   
still around.   
Too many people are speaking about leaving network transparency  
behind. Such people confuse poor implementation of X clients and  
X toolkits with X flaws. I'm leading the NX project and implemented  
the X compression software (maybe some of you remember mlview), so  
I probably had time to explore the problem space widely enough.  
I can tell you about the default terminal application included in  
one of the two leading Linux desktop environments that's generating  
so much X traffic to fill a 100Mbps LAN just to scroll a text  
window, or can tell about a famous Linux distribution that included  
a small applet to remember you to update your software that is  
sending PutImage requests for gigabytes. I think that one of the  
problems of X is that it's just too fast!  
In our opinion, reason why people tend to forget or ignore X  
networking is because of the gap between "the possibility" of network  
transparency and the "availability" for the average user. NX was born  
to fill this gap. We believe that once made simple to run X  
applications everywhere in the world, poor clients will just disappear  
due to lack of users.  
During these years I've been partecipating to many discussions  
about the future of X development. Noboby seemed to be interested  
to aspects like X compression technology or X session management.  
These aspects were considered marginal in respect to graphic cards'  
support, font antialiasing and speed of rendering. I even remember  
the lead developer of a very good window manager to say that our  
effort was useless as X would never be able to offer remote  
computing the way RDP and VNC are doing. Well, considering we are 
in speech with a leading game console manufacturer and with a 3G 
network provider for inclusion of X/NX in next generation's mobile 
phones, I'm happy that he was wrong.  
Gian Filippo Pinzari, pinzari@nomachine.com