I first learned the term
dogfooding at Zimbra in
2005, where we were using the email server and client that we were developing. The internal domain name was
dogfood.zimbra.com.
Why would I want to use Ymacs? Its purpose was to enable me to write code in a browser, but in
the comfort of my desktop, I can use the real thing. And indeed, Emacs is almost irreplaceable, because it's not just
about the editor itself, but the immense ecosystem around it. How can one program in an editor without Magit, for
example?
But there are reasons. First, to me, there's this pleasure of using a tool that I created. Then, I'm a strong believer
in manual testing — the only way to ensure it's reasonably stable is to actually use it (yes, I'm typing in Ymacs
right now). Then, some things might even be better than in Emacs, depending on case and setup — for example I noticed
that Emacs with js2-mode (that's what I use) will mismatch quotes of nested template strings. That works properly in
Ymacs (including indentation in nested expressions).
I thought that if I could quickly switch between the two, I could use Ymacs for editing work, and go to Emacs for
anything else, like Magit. Thus came the idea of a dogfood server — Ymacs would connect to a running Emacs instance,
and provide a way to load/save buffers via Emacs. That was pretty easy to write. Yes of course there is a
HTTP server for Emacs.
[ read more... ]