9 ms·
Kickstarter for an Open Source Programmer's Text Editor using HTML5
- benatkin 15y agoI hate to be that guy, but why use the GPL? Why not use MIT, which is popular in the Node.js community, or Apache 2, which is popular in the CouchDB community, or even a tri-license like the ACE Editor and many other Mozilla-related projects use? GPL or not, I wish you luck in this project.
- streptomycin 15y agoThe GPL doesn't even mean much for SaaS. The AGPL is the license that best fits in with the FSF ideals in that scenario.
- flaminglunchbox 15y agoGPL was chosen in this case as it was the best way for us to maintain control and fund this as a startup. That final pledge tier wouldn't exist otherwise. As we're trying to do this without large amounts of financial backing it would be difficult to ensure that development stayed open otherwise.
- shazow 15y agoI don't understand how having a GPL license will improve your funding situation. Are you expecting that people will come along and pay $4,096 for an MIT license? If they were doing it to support the project, then they would do it just the same if it was MIT to begin with, but who would do this just to get a different license?
- flaminglunchbox 15y agoThe idea is that if a company wants to reserve the right to customize, commercialize and close the code they can... but only by supporting the completely open version first.
- streptomycin 15y agoThe GPL won't do that for SaaS. You need the AGPL.
- flaminglunchbox 15y agoThere's no planned SaaS component to this. It should primarily all be client-side and interface with established SaaS systems instead of requiring its own.
- duck 15y agoWhat editor do you use on your linux box?
- flaminglunchbox 15y agoVim, but there's no reason to start that discussion here. ;-)
- duck 15y agoHaha, well, I asked because what you create will be influenced by what you use.
- BonsaiDen 15y agoFinally someone who's going to port VIM! to the browser ...right? Right? RIGHT? :(
- StavrosK 15y agoFabrice Bellard already did it: http://bellard.org/jslinux/ http://bellard.org/jslinux/
- flaminglunchbox 15y agoThat man is tough to compete with ;-)
- StavrosK 15y agoThat's an understatement!
- Raphael 15y agoI see vi, no vim.
- StavrosK 15y agoJust modify the binary to include vim and upload it.
- wmf 15y agoDidn't Bespin already do this?
- MrNibbles 15y agoYep, and they did it well! Here is a demo if you are interested: http://ajaxorg.github.com/ace/build/editor.html http://ajaxorg.github.com/ace/build/editor.html And here is the GIT repo: https://github.com/ajaxorg/ace https://github.com/ajaxorg/ace Notice the last commit was only hours ago, so its still quite active How will this be different?
- flaminglunchbox 15y agoYeah, Bespin was trying a similar approach with regards to rendering. They had a lot more baggage (server side code, workarounds for issues that have now been resolved) that is no longer necessary. They've now merged into Ace though and the rendering approach was scrapped in favor of a DOM-based method. I think this gives it a lot more overhead than is necessary.
- wmf 15y agoSo are you planning to take the last canvas-based release of Bespin, rip out the crap, and improve from there, or are you going to NIH it?
- flaminglunchbox 15y agoI'm going to be looking very carefully at Bespin, Ace, CodeMirror and Ymacs. Not sure which, if any, pieces I'll be able to reuse... especially since I'm hoping to move to webGL where appropriate. But I am not going to blindly rewrite pieces that need no such effort.
- zyang 15y agocollect donations, fork bespin... profit
- MrNibbles 15y agoWhy Canvas for rendering text? Makes very little sense, DOM hardware render support is better on many platforms right now.
- flaminglunchbox 15y agoAgreed. DOM rendering support has gotten really good over the past year. I want to try a different approach that will make everything seem smoother. Also, since with this sort of text editor you want everything to be aligned in a grid the rendering becomes a set of aligned glyphs... so the GPU rendering can be optimized more so than when considering the entire DOM. If there wasn't that simplification I wouldn't even be suggesting this.
- yid 15y agoSorry to be the one to ask this, but why can't you start this as an open-source side project? I'd be more inclined to support improvements to a core product rather than support another (what seems like) pie-in-the-sky project -- I'm referring to the promises of GPU acceleration, client-side github/dropbox integration, syntax highlighting, scriptable interface -- none of which are trivial for even a full-time developer.
- flaminglunchbox 15y agoIt's tough enough making money as an independent developer as is. I really can't afford to work on this as a side project. As for the pie-in-the-sky... reuse as much as possible. With the exception of GPU acceleration everything exists as either side-effects of the implementation (javascript scripting for extensions) or as an available library (dropbox/github integration). Not that I'm saying it is easy... I wouldn't have a Kickstarter otherwise.
- grayrest 15y agoGPU acceleration isn't going to make a difference here. Bespin started as Canvas-based and moved to Ace's DOM based rendering because there wasn't a significant performance advantage to keeping it on canvas. Mozilla and the ajax.com guys have put a significant amount of effort into this area (the current system is the third rewrite for the Mozilla guys) and both teams had a pretty good set of js hackers. I disagree with some of the decisions made (mostly due to scope and what I think is important vs what they think and my background in writing several Vim plugins) but the decisions weren't made from technical ignorance or not being willing to experiment with non-DOM backends. If you aren't familiar with what they're doing, you're going to spend most of your time rediscovering pain points. The simplest example I know of is that there isn't a good way to figure out exactly what the user typed other than having them type into a hidden text field and reading the results back. The obvious approaches seem to work for US/EU keyboards but fall apart on the CJK family.
- flaminglunchbox 15y agoYeah, there isn't a very good interface between the events passed to Javascript and IMEs yet... and this causes the headaches with non US/EU input. I had the hidden text field method down as a last ditch workaround. I do plan on learning as much as possible about the current attempts to do similar projects. But I feel that the current options do not adopt enough of a "get out of the way" approach for me. I'm hoping to write an alternative for those who don't want a browser based eclipse. I've been poking at WebGL for this and I really do think it can help... but I also understand that I may be eating my words here shortly. Thanks!
- alkavan 15y agoThis can be useful for real web development if it's feature set will be close to an IDE like PhpStorm (works great on Linux and Windows btw...) - until then, this can be used mostly for small snippets and small maintenance tasks.
- catshirt 15y agobespin, cloud9, etc. there are quite a few mature, free options out there already doing a great job.
- flaminglunchbox 15y agoThere are some. Bespin is now merged into ace and cloud9 is the actual full-featured (has someplace to save without further integeration) implementation. And cloud9 is sadly not free for non open source projects. I find that they aren't satisfactory for my everyday use.
- davidbanham 15y agoRunning cloud9 on their hosting isn't free for non open source projects, but you're welcome to download the source from GitHub and install it on your own server.
- bprater 15y agoI'm curious about the choice to integrate WebGL. How is current browser support around this? What advantage does it offer in building a text editor?
- flaminglunchbox 15y agoBrowser support is hit and miss. I'm gambling that it will be much better supported in browsers 6 months from now. The advantage is that it allows the smoothing of all the rough edges normally found in editors. Quick zooming to arbitrary levels, completely smooth scrolling... things that aren't traditionally necessary but make for something that is so much more pleasant to use.
- daleharvey 15y agoI am very interested in an open source web based ide, I would probably take note from bespin moving from canvas to dom is that reimplementing a whole bunch of stuff from scratch that you get for free with dom is a hard thing I have looked at cloud9 and its an awesome project, but I feel uncomfortable developing against it because it doesnt feel "open source", can anyone expand on their experiences with it? I sent in one patch was ignored and it seems all / most development is aimed towards their commercial offering. I would probably feel more comfortable if there was a completely open source community edition which cloud9 was downstream from, somewhat like chromium / chrome
- fluidbyte 15y agoWe just released this over the weekend, it was built from a very similar mindset - Cloud9 looks great but not 'open' enough. If you like it, pass it along: http://www.wiode.com http://www.wiode.com
- flaminglunchbox 15y agoThe way you can tell an idea's time has come is that it starts showing up everywhere. ;-)
- moonlighter 15y agoSorry, but wiode isn't an "IDE" to me. What's "I"ntegrated? Where's the "D"evelopment "E"environment? While I do appreciate and like the push to new technologies, let's keep the terminology straight.... Coloring some keywords might make things look pretty, but it surely doesn't make it all by itself an IDE or even a good text editor. Line numbering isn't a 'feature', that's a basic necessity. If these things are taught as 'features', what else is a 'feature' then? The ability to save the text without errors? Let's raise the bar here, please. For me, Eclipse or VisualStudio is an IDE. Aptana (now Appcelerator Studio) is also more than just an editor. TextMate, VIM, Notepad++, UltraEdit and the like are not IDEs. They are (mostly dumb) text editors. Personally I draw the line at whether there's contextual code-completion provided via instant introspection or background compilation.
- kelleyk 15y agoI'd kill for someone to work on a modernized/reimagined emacs. There's so much that's beautiful about The One True Editor, but many things take an obnoxious amount of research/config-poking to make acceptable.
- flaminglunchbox 15y agoI'm hoping to at least make this into something that can grow into something like emacs. There is already Ymacs, though it's not a complete solution at the moment.
- swah 15y agoAn editor on top of Chromium. A desktop program!
- d0m 15y agoInteresting! Good luck going forward with it. I feel like 4k is really a small amount for such a huge project..?
- d0m 15y agoI particularly like the Extendable with JavaScript part. A minimalist kernel implementing the Js API, the windows (with a possibility to split them), the plugin and a theme system is the way to go IMO. No cloud, no extra feature. Everything else can then be added by plugins. Git integration with github? No problem. Backup with DropBox? No problem. Syntax Highlighting? Np. It'd be particularly awesome with the plugin system.. if you can browse and see new addons/plugins. Same with the theme.. where anyone could upload their tweaked theme. :) I can't wait for something like this to exist.. (let x (new awesome-web-based-editor) (while (not (ready? x)) (sleep)))
- flaminglunchbox 15y agoThat is the goal. So much of the functionality is already present in the browser. We can use the browser's Javascript interpreter, tabs, web connectivity, etc. We just have to put these together to create the core. To answer your other post this is how 4K becomes doable... especially since this is a project I want to do so badly.
- antipax 15y agoKod (http://kodapp.com/ http://kodapp.com/) has a node.js-based integrated scripting environment, but I don't know if plugin functionality reaches the power you describe, and I'm not even certain there are any third-party plugins. It would be incredibly powerful, especially since you could probably export plugins as a URL to a minified .js file.
- deleted 15y ago[deleted]
- pizza 15y agoAnother up and coming cloud editor: http://codulo.us http://codulo.us
- sandGorgon 15y agoYou only give forums and beta access to people who have donated $16 or more, while you send handwritten postcards to people who have even pledged the lowest amount. Now, I'm not sure if you plan to spend a dollar out of every $4 for international postcards, but it would be nice if you could give access to everyone who donated. Two reasons for that - not everyone lives in a first world country (and expects postcards) and secondly, even a dollar committed to the idea of a software is more than most people.
- flaminglunchbox 15y agoI was planning on sending postcards internationally to anyone I could... even if it cost a fair chunk of the pledge. The plan for the forums is to use them not only for discussion but also to vote on direction and cosmetic issues (name, logo, syntax targets). Do you think that giving people access to the forums for the purposes of discussion but without the ability to vote would cause problems? As for the betas, I agree that even a dollar is significant but I had to find a balance that I felt would work for the pledge rewards. This restriction is only for the first development cycle however; once the public release is done further development will be open to everybody.
- Gotttzsche 15y agoi wish he'd do it in clojurescript
- rjd 15y agoHa, my friend showed me roughly the exact same thing a week or so ago. He got started after talk about regex speed in browsers and went crazy building a sweet proof of concept.
- RaRic 15y agoI hope someone will step up and create a canvas-based html editor to embed in web-pages. The current solution using contentEditable has lots of cross-browser and cross-platform issues. I'd back that.