
Guacamole – A clientless remote desktop gateway - mutin-sa
https://guacamole.incubator.apache.org/
======
candiodari
I was making a cloud product a number of years back and wrote a similar
product for my then employer. For VNC and SSH it's pretty easy to do in
Javascript and can be quite reliable (much more so than telling customers how
to connect using their own software - big difference in support). Even full-
screen games were doable.

It provided something similar to phpvirtualbox + a screen where you'd (if
properly authenticaed) just get access to your virtual machines just by going
to a particular tab. Had a list of your VMs on the left, click on one, and a
javascript starts up and gets a VNC javascript (started out with flash,
swapped it out for a javascript one)

That said, this doesn't work as well as people here want it to. There is a
significant cost to running in the browser (keyboard for instance, pressing
CTRL-W will definitely generate a "wtf" moment a few times). But the speed and
the fact that I couldn't do significant protocol development (VNC has
something like 7 variations on protocol, integrating those into websocket is
more than just encapsulating them if you want it to work well), means that I
couldn't use the most efficient protocols. This meant that effectively there
were resolution limits that weren't too high.

Lastly, javascript adds (a lot) of latency. It isn't much, and it sort of
stays below 200 msec or so. But you'd be surprised how incredibly irritating
it is to work with just 20msec extra latency. It's barely tolerable. For
server admin work, sure (even then it's irritating). For constant development
work, it's very irritating.

And full-screen games were doable because generally they would lower
resolution and have other sources of lag. So they actually worked better than
things like Eclipse and Visual Studio. Also they make you much less likely to
hit browser keys. Especially old full screen games worked really well.

~~~
NicoJuicy
Do you know how to make a client ssh application in HTML 5? Or what some
resources are

~~~
chatmasta
I've had a very positive experience with wetty[0] which uses the ChromeOS
terminal emulator (hterm) on the client side, and communicates via websocket
to a small node server that makes the SSH connection. I use it to provide a
shell into an internal docker container used for managing some things.
Everything "just works," even tmux key bindings.

[0]
[https://github.com/krishnasrinivas/wetty](https://github.com/krishnasrinivas/wetty)

------
makmanalp
Agh, I so want this to be good. With remote desktop, I think one thing that
makes a product in this area stand out is how it handles delay, packet loss
and bandwidth issues. There's a ton of stuff re: adaptively changing quality
and keyframe frequency, sending delta updates for parts of the screen,
compressing the data, and doing all this without pegging the cpu at 100% etc
etc.

Teamviewer and Nomachine NX are two examples that I use a ton that seem to
have most of this stuff figured out, whereas their competitors seems to work
in theory, whereas in practice they are bloated, they lag, they make my
computer fan go crazy, etc.

Another thing is ease of connection through NAT/firewalls, though for that
this seems to shift the burden on the server setup.

~~~
CodeWriter23
pcANYWHERE for Windows had this all figured out in the late 80’s. They hooked
GDI and transported the API calls wherever possible. It worked awesomely over
a 56k modem. Then the guys involved sold to Symantec, and they let it go
fallow, EOLing it in 2014 after 7 years of no updates.

~~~
bitwize
> pcANYWHERE for Windows had this all figured out in the late 80’s. They
> hooked GDI and transported the API calls wherever possible.

RDP does the same; the early revs were basically GDI over wire. Later versions
would have extensions/hax to transport the DirectX stuff (did they just ship
framebuffers? I dunno).

~~~
yjftsjthsd-h
Then why is it always compared favorably to X over network, which does exactly
the same thing (sending graphics primitives over the network, although these
days mostly having to throw over complete frame buffers because everything
wants to draw itself)?

~~~
bitwize
1) RDP has better compression.

2) When times changed, RDP adapted, X did not. No one uses those old graphics
primitives anymore, and X's network protocol failed to keep up with the new
reality of client-side rendering. So now that protocol sucks for remoting
GUIs.

~~~
ghostly_s
Yep. For many applications, RDP on a LAN is _literally_ indistinguishable from
a local session. Sadly, nothing I've tried on the Linux desktop comes close to
this performance. One of the few areas where the Linux desktop is 15 years
behind.

------
hardwaresofton
Everyone keep in mind that Guacamole has been around a long time -- I think
it's just started being incubated by Apache, that's all.

Here's a walk-through from a year ago:
[https://www.reddit.com/r/homelab/comments/4vdujw/guacamole_f...](https://www.reddit.com/r/homelab/comments/4vdujw/guacamole_for_dummies/)

------
jitl
Guacamole is awesome! I highly recommend it.

I used Guacamole + a 1st gen Chromebook as my laptop for several years of
college work in 2012-2014.

Tasks that worked well:

\- writing code in IntelliJ

\- editing in Adobe Illustrator

\- working in the terminal

\- basic CAD in Sketchup

Tasks that I’d wait to do at home on my desktop:

\- drawing, especially in Photoshop

\- 3D work in Maya

\- sound-latency sensitive work like MAX

~~~
thomascgalvin
We use Guacamole at work to give our customers access to the internally-hosted
web app we're developing for them. I've been kind of amazed that it works as
well as it does.

~~~
goblin89
> We use Guacamole at work to give our customers access to the internally-
> hosted web app we're developing for them.

Quite interested to hear more about your use case. Does it simplify access
control? Is it just for accessing over HTTP, or e.g. over SSH?

------
jcrites
Beautiful! I've been looking for something like this and hadn't heard of
Guacamole.

Where I work, it's standard for developers to work using a "cloud desktop",
i.e., a remote machine hosted in the cloud that's used for personal
development with a very production-like environment [1]. When accompanied by a
powerful laptop it's all most engineers need. However, client and server
software for various protocols like RDP and VNC on various platforms is still
a pain. It'd be great to have a simple and easy way to provide viable remote
access built directly into servers -- from any client device with no prior
setup. I'm glad to have come across this.

I'm curious how Guacamole's HTML5 rendering compares to solutions like the Ace
editor when used to render terminals and text areas. At a high level, it looks
like Guacamole is based on RealMint which uses the HTML5 canvas tag, whereas
Ace manipulates regular text elements to effect styling. I'll have to
experiment with them.

[1] And for that reason I was amused to see the following on the Guacamole
home page: "Keep your desktop in the cloud: Desktops accessed through
Guacamole need not physically exist. With both Guacamole and a desktop
operating system hosted in the cloud, you can combine the convenience of
Guacamole with the resilience and flexibility of cloud computing."

~~~
asadlionpk
I want to know more about your 'cloud desktop' setup. I have tried to do it
myself but it's quite laggy (like heavy lag in typing code, scrolling
content). I wonder how you guys solve that.

I know Ace-like editor works great but it's usually a minimal web editor
compared to something like Sublime running on vnc/rdp.

~~~
jcrites
One solution for remote development is to handle some heavy lifting like
responsive display logic locally in the client. For two examples of this
pattern, see Cloud9 IDE [1] (which builds on Ace) and Eclipse Che [2] (which
uses the Orion editor). They're web-based IDEs that run remotely on the
server, but load the content, such as the file tree and files you've opened,
locally into your browser. So you can load your session from anywhere and no
permanent state is kept on the client.

As far as protocols like RDP and NX go, I don't know of a silver bullet. I use
machines hosted in Portland from my location in Seattle and the latency is low
enough that remote UIs feel close to native. Some protocols are better than
others at handling high-latency connections or low-bandwidth connections. I'd
recommend testing a few and see what works best for your environment. You
might also measure the round trip time: for any protocol that needs a round-
trip with the server to update the display, the RTT will fundamentally bound
the UI's responsiveness - to do better you have to load some display logic
onto the client. Scrolling and character echo are two examples of logic that's
really valuable to have on the client. (Many SSH clients have local predictive
echo for that reason; they echo by default except when they've detected a
password prompt)

I should clarify though that a lot of development takes place on a person's
local laptop, synchronizing between that and the cloud desktop (such as with
Git and other tools). The former provides responsiveness and the user's
preferred OS and tools, while the latter provides a production-like OS with
high performance that is better able to handle complex software stacks like
multi-microservice applications or sizable ecommerce websites. It's also
convenient to have a relatively pristine environment that isn't frequently
interrupted by e.g. laptop hibernation and network changes.

[1] [https://c9.io](https://c9.io)

[2] [https://www.eclipse.org/che/](https://www.eclipse.org/che/)

~~~
zeveb
> One solution for remote development is to handle some heavy lifting like
> responsive display logic locally in the client.

Another example is emacs in server mode: although normally folks use a Unix
socket, it's possible to use a network socket instead. The remote emacs
actually contains all the state, and the local emacsclient just connects to
it.

Another approach is to run emacs locally, and access remote files & commands
with TRAMP.

------
shiftpgdn
I want to throw in a thumbs up for Guacamole. I deployed it two years ago to
allow us to demo our software for big enterprise clients who can't easily
install things on their office computers. I can rapidly deploy an Azure Server
2012 VM set to kiosk mode with our software installed in under a minute.

Enterprise clients can then login from anywhere and get a fast controlled demo
of our software.

A few months ago I also threw out our crappy old Citrix deployment and
replaced it with Guacamole. When hurricane Harvey hit we had 50+ engineers
working remotely without a single hiccup. It was a lifesaver.

~~~
voidmain0001
If your environment is MS Win, may I please have more detail on how you threw
out Citrix. Guacamole is not providing multiple sessions to a single computer,
rather that's the functionality of a broker such as Microsoft Terminal Server
(termdd.sys) which allows for multiple sessions connected to the console of a
computer, likewise for Citrix. For your 50+ engineers to work remotely, they
would have had to have been connected to 50 unique computers via the Guacamole
Server, or you still have a Citrix server and Guacamole has replaced the
Citrix ICA client...

[The web application deployed to the Guacamole server reads the Guacamole
protocol and forwards it to guacd, the native Guacamole proxy. This proxy
actually interprets the contents of the Guacamole protocol, connecting to any
number of remote desktop servers on behalf of the
user.|[https://guacamole.incubator.apache.org/doc/gug/guacamole-
arc...](https://guacamole.incubator.apache.org/doc/gug/guacamole-
architecture.html)]

~~~
shiftpgdn
Our Citrix deployment was ONLY connection brokering. Engineers here work on
12-40 core desktops with 64-256GB of local ram. Unfortunately the workload
isn't suited for VDI.

~~~
voidmain0001
OK. Now I'm very curious about the move to Guacamole. Citrix ICA is the
fastest remote desktop protocol around. Even a very seasoned VMware engineer I
work with will only deploy Citrix for VDI that requires low latency and quick
response times, as he admits that VMware's Blast protocol is not battle
proven. So you are saying that Guacamole delivers better performance than
Citrix. I guess I will have to try it for myself.

------
joefarish
A couple of useful articles for setting up a secure Guacamole environment:

•Enabling Duo Dual / Multi-Factor Authentication (MFA) for Guacamole Docker

[https://www.cb-net.co.uk/linux/enabling-duo-dual-multi-
facto...](https://www.cb-net.co.uk/linux/enabling-duo-dual-multi-factor-
authentication-mfa-for-guacamole-docker/)

•Using Let’s Encrypt with an NGINX Docker Container (plus bye-bye StartSSL!)

[https://www.cb-net.co.uk/linux/using-lets-encrypt-with-an-
ng...](https://www.cb-net.co.uk/linux/using-lets-encrypt-with-an-nginx-docker-
container-plus-bye-bye-startssl/)

------
zbraniecki
Like all Apache projects it seems like it's very well documented for engineers
who work with it, but not really explained for newcomers :)

Does it log in into its own session or takes control over an active session on
the machine?

My use case is this - My parent is using Ubuntu and in case she reports a
problem, I'd like to be able to log into her session, share control over the
mouse pointer so that she can show me what she's doing and I can also navigate
around to uncheck the checkbox or sth like that.

Is Guacamole the right solution? If not, anyone knows a good one?

~~~
rkangel
That's entirely down to configuration on the target. Guacamole is just an in
browser client, so it depends how the server is set up.

For VNC, if your server is set up using X11VNC then you will be logging into
the existing session, whereas if you set it up it TightVNC or Vnc4Server
(can't remember what's in the Ubuntu repos) then it will be a separate
session.

~~~
zbraniecki
hmm, I thought guacamole has both server and client.

The target machine is Ubuntu 17.10 on Wayland. Not sure if X11VNC will work
with that :(

------
el_duderino
Previous discussion from 2016:
[https://news.ycombinator.com/item?id=11744430](https://news.ycombinator.com/item?id=11744430)

------
dalore
Ok, anyone offering it as a service? Would be nice to have a low power laptop
just to connect to a high powered guacamole instance, with IDEs and
development tools installed. Able to snapshot etc.

~~~
shadoxx
I'm gearing up to offer this as a service by the middle of next year. However,
I have a couple fully functioning proofs of concept that I need people to
test. If you'd like to get in on it, shoot me a PM.

~~~
asadlionpk
Hi, I would like to try this.

------
em3rgent0rdr
Great idea. I hate the name. Name should have _something_ obviously incommon
with the feature/purpose.

~~~
hanoz
If a server can be likened to an avocado, this enables people to expose its
insides by removing the hardened outer layer, then trash the kernel and mash
the rest to a pulp?

~~~
em3rgent0rdr
interesting...but that's quite a stretch IMHO!

------
rsp1984
Question with the risk of sounding very stupid: I get that you don't need to
install anything on the _controlling_ machine, but what about the _controlled_
machine? I suppose you need to install some kind of software there? There
needs to be some kind of access control, no? I didn't see anything on the
website though.

Which utterly obvious piece of the equation thing am I missing?

~~~
emsy
Yes, you need a remote desktop server like VNC or RDP (or an SSH Server if you
want a SSH session)

~~~
rplnt
I don't think that's enough, according to the video at least.

~~~
emsy
Usually, you need an RDP client and a remote RDP server. In Guacamole, the
"RDP client" part is handled by the Guacamole server. The HTML 5 frontend that
users see is not a fully fledged RDP client, but merely a display and input
device for the Guacamole server, which is the actual RDP client.

------
sp332
Can you copy and paste text out of it? Can you drag & drop files into it? Can
you print to a local printer from the remote session?

~~~
jasonellis
Yes on copy and paste, though you have to use a text box in the browser window
(a menu on the left side) to mess with the clipboard. It's not ideal, but it's
possible.

I cannot remember drag & drop files off the top of my head, but I seem to
think no.

Not sure about local printer.

~~~
DrPhish
Printing is enabled by they system generating PDFs that the browser
automatically downloads. It actually works pretty slick.

File drag-and-drop can be set up via a couple of different mechanisms, and
isn't easy to get going, but works fine once you have it going.

------
patrickaljord
Please don't use vimeo, it's terrible for people with slow connections (no
144p) and for people with fast connection there is no 2x speed mode to save
time. Use Youtube or a service with similar feature.

~~~
wccrawford
Also, they've made it pretty clear they're about _art_ , and they love to
remove things that aren't. Like tutorials, or game recordings.

Though it does seem they started letting video game captures again, they still
have the "creative expression" language.

[https://vimeo.com/blog/post/new-upload-
rules](https://vimeo.com/blog/post/new-upload-rules)

~~~
sp332
Video game companies are getting increasingly strict about taking down videos,
so Vimeo is probably just trying to avoid that hassle.

~~~
monkpit
> Video game companies are getting increasingly strict about taking down
> videos...

Source?

~~~
nameless912
Nintendo just geared up on this hardcore yesterday. A lot of other game
studios have been getting worse too.

~~~
mikewhy
Nintendo have always been Nintendo about this sort of thing.

------
gkya
Clientless is a confusing term. The client seems to be served at an HTTP
endpoint as a one page JS application.

~~~
bitwize
We're living in the age of the serverless Web, not to mention the meaningless
technical term.

------
solomatov
Does anybody know whether it supports advanced features of RDP which allows
very low latency and low bandwidth.

~~~
jitl
There’s 2 parts to any connection in Guacamole:

Your remote <———> guacd (RDP)

guacd <———> the browser (custom protocol)

In my experience, Guacamole works very well with windows RDP servers, and
feels very fast. Certainly faster than X11 or VNC remoting on the same
hardware.

------
faragon
Guacamole is "clientless" at following cost:

("SS": Session Server (where the session is running), "GS": Gateway Server
(where the protocol translation is performed from RDP -or VNC- to custom
HTML5), "WC": web client)

\- At SS, compress images using the RDP -or VNC- protocol. Cost: CPU, RAM, and
RAM bandwidth, because of desktop render, delta analyzer, image compression
for the RDP -or VNC- protocol, image-specific compression (e.g. RLE in if a
old protocol is negotiated), lossless compression ("bulk"), encapsulation,
bandwidth/frame control, transfer.

\- TCP transport between the SS and the GS. Cost: LAN traffic.

\- At GS, decompress the RDP -or VNC- protocol in the "gateway" server (bulk
lossless decompressor, and image decompressor -e.g. RLE for basic protocol
negotiation-). Cost: mainly CPU.

\- At GS, compress the the images in a format suitable for the web client.
Cost: mainly CPU.

\- Send the images via websocket from the GS to the WC. Cost: WAN traffic.

\- Decompress and render the images in the web client. Cost: client CPU and
RAM.

Then, you have to dimension how many GS you need per SS, routing between the
WAN the GS, how do you balance both the SS and the GS, high availability
setup, etc.

TL;DR: data is compressed and decompressed twice, because of the protocol
conversion, involving extra latency because of more time for
compression/decompression and more hops.

------
wesm
I'm sorry to be pedantic but can you add "(incubating)" to the title of the
post?

------
have_faith
What happens if you use Guacamole to log into a remote machine, and then use a
browser on the remote machine to use Guacamole to control the initial client
machine?

~~~
lr4444lr
Sounds like the premise for a Douglas Hofstadter book.

------
z3t4
For VNC there's
[https://github.com/novnc/noVNC](https://github.com/novnc/noVNC)

------
jlgaddis
Any HN'ers happen to use Guacamole in order to gain access to Linux hosts (via
SSH, of course) from an iPad? I'd be interested in hearing about how it works.

Alternatively, I'd take recommendations for an SSH client for the iPad that
supports public/private key pairs and connecting through a
bastion/jumpbox/etc. (a.k.a. the "ProxyCommand" SSH client directive).

~~~
Operyl
Prompt works extremely well, but doesn’t directly support ProxyCommand. It has
the ability to run a command on connect though!

------
e9
I wish I had this years ago. To do VNC and get around firewall/NAT issues I
actually created port forwarder through Firebase. It surprisingly worked great
[https://github.com/rb365/fireport](https://github.com/rb365/fireport)

I might try to make it work with Guacamole, web UI is definitely better than
installing VNC client.

~~~
nameless912
I don't read many things that make my eyes go wide and my mind to be filled
with "what in the actual fuck"s.

This is one of them.

------
emsy
We've used Guacamole in production with a custom frontend. It's nice to work
with and most problems I've encountered were covered in the old forums on
SourceForge. For anyone planning to implement a custom frontend I'd recommend
using WebSockets exclusively. We've had trouble with XHR based connections.

------
daddykotex
Here is an interview at Software Engineering Daily with Mike Jumper:
[https://softwareengineeringdaily.com/2016/06/27/apache-
guaca...](https://softwareengineeringdaily.com/2016/06/27/apache-guacamole-
and-remote-desktop-with-mike-jumper/)

------
edoceo
This this is so cool! I've been using for years, even made a nice auth-hack

[https://github.com/edoceo/guacamole-auth-
http](https://github.com/edoceo/guacamole-auth-http)

------
CSDude
We had a project that can control qemu, xen, vmware and hyperv, Guacomole
handled them all, and we integrated it easily, it supports both websockets and
regular http polling, both works fast enough and nice

~~~
justinjlynn
Any chance your integration code is available?

~~~
askz
Maybe you should check his Github account ?
[https://github.com/mustafaakin/buki](https://github.com/mustafaakin/buki)

------
nsxwolf
I’ve yet to find a good solution for remoting to a Mac from a Windows machine.
Chrome Remote Desktop almost fits the bill, but I cannot get meta key bindings
to work properly.

I will give this a try. Hoping it is good.

~~~
jitl
macOS has VNC and Remote Desktop servers built in; Ive never had issues with
the functionality of either, although there are some security concerns

~~~
nsxwolf
Also a "good" solution to me means the connection is established via some
cloud mechanism, and doesn't require me to open a bunch of ports on my
firewall.

And VNC on Mac has always had miserable usability for me - updates paint
slowly from the top to the bottom of the screen, can't see my text in real
time when I type.

------
cwyers
The demo is a little weird. They open up VLC on Windows, but only to show off
how it renders waveforms for an MP3. Is that a use case that people have for
remoting into their PC?

~~~
matchu
They're demonstrating Guacamole's ability to handle simple animations
smoothly. Music visualizers are a solid, familiar example, despite not being a
super-common use case for remote desktop.

------
dawnerd
I used it for a while in a docker container on my unraid server and it does
work but is quite buggy still. Often will freeze up and require a restart.

~~~
JustinAiken
I've been using it with the FileZilla docker in unraid; works but buggy
describes it pretty well.

------
nodesocket
_Shameless plug_ \-- founder of [https://commando.io](https://commando.io)
here. We offer a product similar to Guacamole (agentless/clientless) SSH
access to machines which is web based. We unfortunately only support SSH
though. We have an iOS app as well so you can execute commands on servers on
the go or from bed -- BedOps :-).

------
joncrane
How well does it scale to many simultaneous users?

I am using this for a side project. We have training classes where sometimes
10-20 students connect to Windows servers using RDP.

At times we get a weird key sticking/lagging bug. We haven't figured out how
to fix it; we think it's a JVM memory issue but we're not sure.

------
mxuribe
Yeah, TeamViewer is certainly decent enough, but I'm always looking for other
open source remote desktop access mechanisms (especially now that my current
day job is pretty restrictive with the laptops they issue us). I had never
heard of this Apache Guacamole, but will certainly give it a try!

------
sandos
Searching for guacamole on github combined with recently updated shows a lot
of unrelated repos. Apparently there is a github tutorial which uses a
guacamole recipe, which makes searching for related things hard. I was trying
to find an updated docker image for example.

~~~
joncampbelldev
Google tends to be better than most in-site search, especially github.

"guacamole docker" returns a whole page of helpful resources (github,
dockerhub etc)

------
kisstheblade
Tested this, installed the docker versions (which should "just work"). The vnc
library segfaulted immediately, didn't work. How can this fail even if they
have built docker images with presumably the correct libraries?

------
godzillabrennus
Reminds me of what [http://Browserling](http://Browserling) has had for
enabling access to browsers for their customers for years.

------
swypych
They are trying to create a brand, something catchy that will be remembered.
"Apache clientless remote desktop gateway" just does not have the same ring to
it.

~~~
yebyen
Apache Guacamole is at least 1000 days old, according to the top comment on
this post which was made 500 days ago:

[https://news.ycombinator.com/item?id=11744430](https://news.ycombinator.com/item?id=11744430)

------
niutech
Older thread:
[https://news.ycombinator.com/item?id=8166388](https://news.ycombinator.com/item?id=8166388)

------
danellis
Is it Apache Guacamole because it was a holey guacamole?

------
geonnave
The video demo of this tool is fantastic! It is a simple "showing by doing",
that also gives a show while showing (pun kind of intended).

------
SadWebDeveloper
Are we going back to dumb-machines (aka Thin Clients)? Seems like half the
comments here are for people working entirely "on the cloud".

~~~
intrasight
I wouldn't say "going back" \- the smart crowd never left them ;)

------
victor106
Does anyone here know how can I access my vpn connected work laptop from any
computer outside for e.g:- my home laptop?

~~~
Cyph0n
TeamViewer should work fine.

Minor grammatical note: "e.g." means "for example", so the phrase "for e.g."
does not make sense. I used to make the same mistake quite a bit!

~~~
abraae
I'm not so sure about that. The leading "for" stands on its own without the
e.g.

e.g., with some additional punctuation:

I like to run for the bus.

I like to run for, for example, buses, cars and airplanes.

I like to run for e.g. buses, cars and airplanes.

A little tortured but possibly valid.

------
saycheese
"Thanks to HTML5" \- what specifically in HTML5 enables this?

~~~
matteuan
canvas, for example

------
alea12
How do we pronounce this?

~~~
unixhero
Depends on what you say when at Taco Bell.

------
gressquel
Citrix has a html5 client. I think it just transfers png files

------
turbohedgehog
Can it do virtual desktops like a VNC server can?

------
placeybordeaux
Wow the install looks like a pain in the ass.

~~~
kisstheblade
It wasn't difficult, two dockers and a mysql db. Unfortunately it didn't
actually work, the vnc lib segfaulted.

Just use nomachine, it's worth it. Clients for all os:es.

------
m3kw9
Any reason why they presented it on windows 2000?

~~~
jagger27
It looks like Windows 7 with the Classic theme.

------
alexc05
I am really getting tired of programmer's "cute names for things". I recently
went through training on adobe experience manager and literally every single
internal technology was named for something that had no bearing on what it
actually did. Felix, Sling, Jackrabbit ... I just did a quick google on the
AEM tech stack and got the following choice quote which I feel perfectly
illustrates the meaninglessness of Apache's naming "Apache Felix is to Apache
Sling what Equinox is to Eclipse." what does any of that mean or do?!

I'd very much prefer if the named Guacamole the "Apache clientless remote
desktop gateway"

~~~
vijaybritto
Guacamole is way easier to remember than Apache Clientless Remote Desktop
Gateway. Also while seeking help it's a lot less characters, so people
wouldn't be annoyed by typing.

~~~
ams6110
Disagree. Just because the name is longer doesn't mean it's harder to
remember, because "Apache Clientless Remote Desktop Gateway" is much more
descriptive.

Like GP, the trend over the last decade or so to use meaningless names for
tech products is one of my biggest annoyances. Occasionally something gains
such enough popularity that it doesn't matter ("Google") but in most cases
these names are only meaningful to the people who work with these products
every day and for everone else it's alphabet soup.

~~~
danellis
No one would call it that, though. It would always be Apache CRDG.

~~~
mywittyname
Apache WebRD.

That's easy to say and descriptive enough.

