
Canvas, WebGL and HTML5 are ready to create a truly ubiquitous, easily extended and smooth text editor for programmers. So let's do it!
A Canvas and WebGL Programmer’s Text Editor
Javascript and HTML5 are becoming mature enough to support a full featured text editor entirely in the browser. This would provide a solution to the lack of editor on Chrome OS as well as create an ultra-portable cross-platform method to edit text. Not only is the technology now sufficient, but it can also be used to create an incredibly slick and visually pleasing interface to text.
So what is this?
- Completely Client Side
- Smoothly Rendered
- GPU Accelerated
- Syntax Highlighting
- Integrated with Internet Services (Cloud... if you'd like)
- Easily Extended/Scripted
- Free and Open Source
- Tabs, Panels and Split-Screen
This will be a fully featured text editor implemented using the canvas element in HTML5. It will support WebGL for graphics acceleration for visually pleasing but uncluttered scrolling, anti-aliasing and other effects. This is designed not for the wow factor but to minimize visual irritation when working with text for long periods of time. The goal is to make it as simple and streamlined as possible, making it easy to use, light-weight and elegant.
Browsers also have many features of modern text editors built in. This text editor will be easily extended and scripted using Javascript. It will have tabs and split screen. Tabs will allow dragging between windows. Additionally we'll have direct access to things that other text editors only get with some effort: all of those internet enabled services. We can integrate tightly with github, DropBox, Box.net, Amazon S3; basically anything with either a Javascript library or HTTP interface of some kind.
Once the core functionality is created the project will be released as open source under the LGPL license. There are no server side components planned, but if any are produced it will likely be under the AGPL.
And Why Do We Need It?
As a Linux user I am very much used to and enamored of an older breed of text editors. They provide a great interface for editing just about everything in a wide variety of ways. They also run just about everywhere. However, after hours of staring at them I find my eyes becoming fatigued. What they don’t do is utilize modern hardware. There are many features that can be used to make the interfaces more visually pleasing, cause less eye strain and make it easier to view and edit large files. In addition I can't just use them when I'm on an alien machine... and all of my personalization is missing.
Up until now though the benefit of having these features was insufficient to overcome the ubiquity of the console and efficiency of the methods. Many alternatives exist, but until they can run everywhere easily they will be of no use to those of us who jump from one computer to the next. But HTML5, Javascript, Canvas and WebGL are reaching a point of maturity that will allow for a text editor to make use of these modern features and travel with the user from system to system, operating system to operating system.
We can even make it run on Chromebooks! And make it as simple as possible for new people to get into programming.
This text editor is something I very much want. But as an independent developer it’s impossible to work on projects (especially open source projects) without a stable foundation. If this project gets funded I will have the resources to dedicate the necessary time to make sure this gets to a releasable state. I simply cannot afford to spend time on this without it.
I believe fully that something like this needs to exist and to be free. But I can't make it without support.
FAQ
-
Ymacs and Ace use a very different approach to rendering, using the DOM to provide layout styling. This ends up working well, but has a slightly clunky feel because of the constraints of how the browser handles DOM changes (though this has gotten much smoother lately). I'm hoping to use the canvas element along with WebGL to bypass the DOM altogether and get closer to native performance. This means a little more work upfront than the DOM method but much better control over how the text is rendered (anti-aliasing, kerning and such) as well as the opportunity to include features such as quicker zooming, smoother scrolling and mini-maps.
I'm also hoping to create a more complete package that works for editing text right out-of-the-box (not to mention vim-esque keybindings in addition to emacs). Instead of just being a textarea replacement. Right now there's no good way to just use these as an editor... they need to be hooked into some server side backend, There are some existing services that can be purchased or used for free for open source. But I would like to make something that runs primarily client-side with hook ins to common services. Something that is easy for a beginner to install and get started quickly as well as something that is actually more appealing than a console based editor to veterans. I think things are finally to a point where we can finally overcome "almost bearable" and get to "actually quite nice."
-
I'm hoping to offer various sets of keybindings that can be selected through the settings. This way you can pick a set wholesale (standard/vim/emacs) and then customize individual features. Editing of keybindings will be done in the editor itself... or imported from an external file.
104
Backers
$7,061
pledged of $4,096 goal
0
seconds to go
Funding period
Jul 15, 2011 -
Aug 12, 2011
- First created · 0 backed
- Has not connected Facebook
- Website: flaminglunchbox.net
Pledge $4 or more
14 backers
Thanks so much for supporting this project! With this you’ll get our handwritten thanks on a postcard and a QR code with the thanks crypto-graphically signed, so that you can prove you were one of the original backers.
Pledge $8 or more
6 backers
You'll get the postcard and a high quality vinyl sticker of the to be determined project logo suitable for placing upon almost anything.
Pledge $16 or more
35 backers
In addition to the doubly signed postcard and vinyl sticker above we'll give you access to the beta versions as they are released for testing. You'll also be given access to the development forums as well as a vote in important issues such as the name and logo
Pledge $32 or more
31 backers
You get the postcard, vinyl sticker and beta access from above, and we'll also ship you your choice of either a limited supporters T-shirt or re-usable tote both made from organic cotton with the program logo. You also get your name (or company name) listed on the “About” page of the program in the supporters section. For you those of you who are international, please pledge a bit more to allow for international shipping.
Pledge $64 or more
5 backers
Including everything from above, you'll also receive our thanks written on high quality linen paper suitable for your "me" wall or just general archival. And yes, this document will also contain the signed QR-code for verification.
Pledge $128 or more
5 backers
As well as the above rewards (postcard, vinyl sticker, beta access, voting rights, name in supporter's section, linen paper certificate and limited t-shirt or re-usable tote), we'll create a syntax highlighting color scheme to your specifications to be released with the program. You also get to name it!
Pledge $256 or more
0 backers
For your incredibly generous support we'll send you a custom, locally made netbook or chromebook sleeve made from upcycled burlap coffee bags from local coffee shops. A link to your website will also appear beside your name in the original supporters section. All of this is in addition to the postcard, vinyl sticker, beta access, voting rights, t-shirt or reusable bag, custom color scheme and the linen paper certificate.
Pledge $512 or more
0 backers
As a reward for a pledge of $512 or above we'll write a custom macro to your specifications to be embedded inside of the program as well as the locally made netbook or chromebook sleeve from the $256 reward. You'll also get the postcard, vinyl sticker, beta access, voting rights, name and link in the supporters section, linen paper certificate, and the t-shirt or reusable tote.
Pledge $1,024 or more
0 backers
At $1024 you'll get everything from the $512 reward as well as your logo next to your name and link in the original supporters section of the program and website. You'll also get weekly releases as the project progresses for your testing.
Pledge $2,048 or more
0 backers
That's half the project right there! We'll send you a Samsung Chromebook customized with the project logo and give you all of the other rewards from the $1024 pledge.
Pledge $4,096 or more
1 backer
Wow, you just single-handedly funded the whole project. When the project is publicly released you will receive a copy of the code issued under the Simplified MIT License for your use in whatever you'd like, commercial or free, open or closed. You'll also get your name, link and logo on the supporter's page, developer forum access, a vote in name and logo selection, linen paper document and postcard.