It's not emacs (I guess it's "an emacs"). It's an editor that does syntax coloring, handles the core emacs keystrokes, and implements the subset of GNU emacs functionality that the author uses in a routine manner.
Right off the bat, I hit the following speedbumps:
+ No replace-regexp
+ No set-fill-prefix (or it's unbound)
+ Default fill prefix detection doesn't work like GNU emacs (e.g. no
way to fill a long paragraph with a prefix of "> " for quoting
email)
+ No ispell-word (or any spell checker) on C-$
+ C-x b tab doesn't give me the list of buffers I expect
+ No keyboard navigability in file selection dialog! I hit C-x C-f
and end up in this weird web 2.0 world where I'm (no joke) prompted to
"Drag files here".
So.. it's cute. But other than the author (or someone else willing to reimplement the bits of emacs they need) I don't see to whom it's going to appeal. Serious emacs users aren't the target demographic.
Someone could host emacs in virtual machines that have a bunch of real emacsen hosted with TTYs implemented in Javascript and a virtual filesystem that actually writes to Dropbox. Someone could probably make good lifestyle-business money doing that.
If you're going to go to that much trouble, you might as well just compile Emacs to Javascript with enscripten and run it natively in the browser. The download time might be painful, but then we'd have a web editor actually worth using.
You might not even need to implement all of emacs, just emacsclient and have the emacs daemon running on the server.
But why does everything need to run in the browser? You have a perfectly good OS and you can run Emacs natively and use tramp to open remote files over ssh. I do it every day, it's awesome because I'm using my local emacs configured the way I like it and I can edit files on any server that has sshd running. Problem solved.
It'd be nifty if I could have the power of Emacs available to me on a tablet. Since I don't imagine anyone's going to port it soon, being able to use it in a browser seems like the only way that's going to happen.
It's even 24.1. I only have patchy wifi now so I haven't been able to finish the install yet on my tablet but it installed and ran M-x tetris just fine on my phone.
There's more value in having Emacs cloud hosted, I think. The old joke that it's an OS masquerading as a text editor is actually somewhat true. Hosted in the cloud, you have really great bandwidth to other cloud environments, all accessible through low-bandwidth requirement TTY.
I'm inclined to think that that's more a bug on their part since Ctrl+K isn't one of those unstoppable key combinations (Ctrl+W, Ctrl+Tab, Ctrl+T, Ctrl+N, Shift+Esc as far as I'm aware are the only ones). Perhaps they just aren't calling e.preventDefault() on their event handlers.
And even for the combinations which can't be captured, the new Chrome platform app API lets you stop those.
In an effort not to totally derail the conversation I guess I'll mention that nearly every browser is going to have some shortcut keys that would map to common emacs functions that will get swallowed by the browser.
But what I'm really wondering: what makes you say C-k (kill-line) is the most useful command ever? This is slightly inconvenient with basic Windows shortcuts (shift+end ctrl+x, approximately). I tend to think one of the functions which isn't trivially replicated in other environments is more useful. Just curious...
what makes you say C-k (kill-line) is the most useful command ever
A little bit of a joke, but it's based on a bias that the best thing you can do to source code is make it smaller. To its ridiculous conclusion wiping out every line leaves you with a program with no bugs. :)
That's actually a pretty big problem with the whole "browser app" thing, isn't it... there are certain key bindings that you just can't have. I wonder if there'll ever be a solution for that. Anything I can think of sounds like it would be a security issue, or annoying. (Having to answer pages asking for permission for certain keybindings... ugh.)
The fact that OSX native doesn't use C-??? keybindings for non-unixy behavior is one of the greatest advantages IMO. It's even better than Linux in that regard, because CMD-C/V even copies/pastes from OSX clipboard in the terminal.
Wait... that first link in your list from a month ago... that was actually forked to make the one for this thread. They appear to be identical. So if I fork it, can I post it too like I made it? I don't get it. I'm guessing there is some reason somewhere that makes this not a rip off? What am I missing?
I posted this a month ago but it never reached the front page. tagx emailed me about it asking if he could post it and I said it was fine. More distribution is better, right?
My feedback is targeted at the ymacs demos giving a better "first impression", which at this point might be the only one allowed for many.
I am taking the time because that's the most emacsy (unintended bun) experience I've had in a web editor and to me that is a compliment.
I had to "Load its own code!" and read it to jump over these brick walls:
* C-x C-b is undefined
* C-h gives me a chrome://chrome/history/ lesson, but that might be chrome's fault
* M-x sounds the bell (why?) but "that's all she wrote". Neiter ? nor SPC do more than insert themselves in the minibuffer. Reading sources I find M-x switch_to_buffer (C-x b) would work, if only by keyboard (the menu does not allow one to actually pick an entry).
Why not implement C-x C-b? Would it be that hard? Or just let it do what C-x b does for now?
M-x ? and M-x SPC listing all available commands would be a big win too.
But a commad like M-x switch_to_buffer should not really be presented to an emacs user, make that M-x switch-to-buffer, even if some internal mapping may be needed.
Pretty Cool. I hate having to download files from Dropbox just to upload again when I need to save. I think this might do the trick.
EDIT: I just realized that it's not clear. I do use the client and it works really well from my computer. It doesn't work very well from a computer lab.
In seriousness, this is quite a cool attempt. For some reason, using an international keyboard with the application prevents me from ever getting the ' character to appear. I'm not sure why this is the case.
Very nice! I was seriosuly missing something like this, especially for my org-files. A few times a week I want to add or change something to my todo.org but I can't because I'm at some corporate computer. At the moment I try to remember and make my changes when I can, far from ideal.
My plan is to use parenscript to convert the org elisp code to Javascript and provide some extra functionality such as document export through a webserver running headless emacs. Any opinions on this idea? Could this be possible with YMacs?
Not working in my browser. When looking at the source I see it probably only works in FF. But I also noticed you've included "ymacs-mode-markdown.js" twice.
Edit... ok refreshed the page a few times and it seems to be working now. Cool.
Right off the bat, I hit the following speedbumps:
So.. it's cute. But other than the author (or someone else willing to reimplement the bits of emacs they need) I don't see to whom it's going to appeal. Serious emacs users aren't the target demographic.