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).
This looks pretty cool and I'm going to check it out, but I'm not signing up with GitHub since you ask for access to my private repos by default. Given that I use GitHub for my day job, I'm not really comfortable giving a service I've never heard of access to our code base. It would be great if this was opt-in. (e.g. ask for my public repos now and then ask me later about private ones)
Nice work! Have you played with Koding.com at all? This is very similar and seems to be a space that is heating up. I will definitely give this a shot.
One quick piece of feedback: some of the grammar felt strange. I'm assuming you aren't native english speakers? No problem, I'm sure someone can help you polish that later.
Thanks. We know of Koding, we haven't spoke with their team though.
It seems like coding is really focusing on it's social features and wants to become the "facebook for developers".
I can't condemn that, but I think there is more value to be built, by focussing on improving the coding experience and it's simplicity.
We're a two man team, I'm a native english speaker, but taking care of the backend side of things I don't always have the time to perfect the grammar mistakes my co-founder makes.
He's french by the way, and I think he still does a pretty good job :)
Thanks for pointing that out, we'll definitely improve that when things calm down a bit
It would be nice if I didn't have to set up _another_ repo. Integrating with GitHub or BitBucket would be preferred (be backed by, not just import). That said, I wouldn't actually use it since GitHub lets you edit individual files through the UI. Just an observation. The rest looks nice though.
Right now, we integrate both with GitHub as a "Repository provider" and Heroku as a PaaS.
If you connect your Github account we'll import your GitHub repositories.
And we do have a primitive and slightly awkward way of pushing back to your github repository. That will be improved in the coming days. To make it more obvious and easier.
Thanks for pointing that out. We want to integrate as well as possible with current existing services.
There is no need to reinvent the wheel regarding code hosting and we want to focus on what makes us different.
While running the sample nodejs code, it opened a virtual terminal with the message "Building application in a new virtual machine" - Are you actually creating a new virtual machine for every app that is run? Isn't that resource-consuming?
This looks great. When will you shut up and start taking my money? I'm worried of getting too attached, that this beautiful piece of work looks like it has no business model.
Thanks, happy to hear that you like it. We do have a business model and multiple possible revenue streams. The most obvious one being freemium. We're in beta right now, so it made sense for us to keep it free during beta. We will be rolling out pricing as soon as we leave beta.
It'll always be free for individuals, but we'll have paid versions for larger teams and companies.
First of all Cloud9 is a very good solution, they are the initial pioneers in cloud coding, and they built some good technology that we contribute to (and use small parts of).
We really try to focus on simplicity and extensibility.
We're trying a few different approaches, one of them being providing a whole network besides the code editor itself, so people can share plugins, build teams, find freelancers (that kind of stuff).
Cloud9 is very good, we're just about 6 months old and a two man team, so we're exploring things and trying to innovate.
Hey man, i just found a problem with Ruby. When i run the demo code with sinatra, tries to download dependencies with Bundler, i got this error:
Installing dependencies using Bundler version 1.3.2
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
The source :rubygems is deprecated because HTTP requests are insecure.
Please change your source to 'https://rubygems.org if possible, or 'http://rubygems.org if not.
You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.
You have added to the Gemfile:
* source: rubygems repository http://rubygems.org/
* sinatra (= 1.1.0)
* thin
!
ERROR: Failed to install gems via Bundler.
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.