After taking a look I want to ask about a few features I would expect to say goodbye to my "old" editor (I actually just migrated from VIM to Emacs). Are they there, or are they going to be included?
- auto completion, file names, var names, classes and functions, words in general etc. (like in: vim - omnicomplete, emacs: auto-complete)
- fill column marker (v: colorcolumn, e: many, fill-column-indicator)
- code outline (v: TagBar, e: Speedbar)
- refactoring support, rename var/fun/class (many options)
- go to definition (for Python v: python-mode, e: elpy; or generically with ctags, etags)
- comment region (v: NERDCommenter, e: comment-region)
- declare and insert snippets (v: vim-snipmate, e: yasnippet and others)
- rectangular selection and operations (v: Ctrl-v, e: C-x r ... or rect-mark)
- find file in project (fuzzy matching optional) (v: Command-T, e: find-file-in-project, ifind, others)
- find in files (v: :(vim)grep or other, e: lgrep or multiple others)
- change/set surrounding "'([{ chars (v: surround, e: wrap-region or (somewhat) paredit)
And probably many others I don't remember now.
I don't want to sound like I'm saying the product is a bad idea or that what we have now is sufficient and we don't need new things. I'm honestly very used to these features and they make me more productive; if I was a hobbyist, I could switch to less featureful editor right now, but for a professional your productivity determines your income for the large part. So, while I like the idea of in-browser editors, I cannot use them unless they have the features I need. If they are in different places then ok, but not if they are lacking.
Are you sure that you like the idea of in-browser editors? The only feature that I see as useful is the "zero deployment/any device" and I can't imagine that feature coming in handy very often.
What else do you like about them?
If you like vim or emacs - the Cons seem to far outweigh the one Pro that I can see for these types of editors:
- Online only.
- Client and service back-end usually not open source.
- Far less robust, feature-wise.
- Limited to using these for languages that their back-end supports.
- Limited by browser technology. For instance:
Can I break those tabs out to a new window?
How well does that perform?
Can I middle-click a document-tab to close it?
Does it integrate well with the rest of the
programs running on my operating system?
To the folks at friendco.de: Sorry for being negative. It's nothing personal - I just prefer native over web for my applications and I'm curious as to what people find to be good about web apps besides the one Pro that I mentioned.
Well, if everything else was equal and all features implemented the "zero deployment/any device" would be a great thing, no? As I said I like the idea, not current implementations.
Personally I would use it - and even if it had only a fraction of functionality I mentioned - for remote pair programming. It's so hard to make people feel comfortable with Emacs/Vim+screen/tmux!
As an aside, I think that an online editor with scripting capability would quickly catch up to native editors in terms of features.
Well actually all the online editors have awesome scripting capability via javascript:)
> - rectangular selection and operations (v: Ctrl-v, e: C-x r ... or rect-mark)
Ace (cloud9 editor which friendCode uses) have pretty good support for sublime text style multiple selections, (with ctrl-alt-arrow keys)
so emacs or vim style should be easy to implement.
The main problem is that there are oly a few people who use online editors, so most of this things are not implemented yet.
I believe there are advantages and disadvantages to cloud based solutions, objectively the advantages that we offer are the following:
- Easy setup and update (all you need to do is signup) (good for beginners)
- Realtime remote pair programming
- You no longer need to setup execution environments on your computer locally.
We're definitely far from perfect. However I do think that there's interesting things to do with cloud based solutions, so that's what we're trying to do.
Easy setup and realtime pair programming are great. Auto-updates are good, but only if I like the updates :) Forced updates could be annoying and potentially catastrophic if handled wrongly, breaking users' workflow.
A pre-setup environment can be nice if it offers the amount of control that is necessary to accomplish the developer's goals.
My totally unqualified opinion on your venture is that you can be successful if you pursue partnerships with places like Heroku et. al. as well as offering it as a stand-alone service. Good luck!
No offence taken. That's perfectly understandable.
There are quite a few advantages to cloud based solutions, a major one being "simplicity", by that I mean that they're easy to setup and manage (zero hassle for beginners).
I don't want to sound like I'm saying the product is a bad idea or that what we have now is sufficient and we don't need new things. I'm honestly very used to these features and they make me more productive; if I was a hobbyist, I could switch to less featureful editor right now, but for a professional your productivity determines your income for the large part. So, while I like the idea of in-browser editors, I cannot use them unless they have the features I need. If they are in different places then ok, but not if they are lacking.