An advanced text editor for most platforms
Although many Linux users are content with Vi or emacs, it's always seemed to me that most of them still envy the advanced text editors that Windows and Mac platform users have had for a long time, with an intuitive GUI and powerful features. I propose making a new, very powerful editor that will not just cater to Linux users, but users of Windows and Mac, too. This text editor will have the following features:
- The regular text editor interface that everybody knows, or something very similar to it. Anyone will be able to start typing into it without having to learn any arcane commands.
- Unprecedented persistence: no need to save a buffer ever; you may close the application, reboot or even yank the computer's power cord from the wall with 50 active buffers in your session, and the next time you launch the editor, all the buffers will be there, just the way you left them. Possibly the Undo history, too. Of course, buffers are not files, but since buffers will never be lost (unless you REALLY want to lose them), you can always write a buffer to a file.
- OPTIONAL modal behavior, like Vi. That means you can switch between a command mode and an insertion mode if you like. Your choice. That makes for some pretty useful keyboard shortcut arrangements. All keyboard actions will be configurable.
- It wil be VERY keyboard-centric. You should never, ever reach for the mouse to accomplish anything. There will be an optional, configurable toolbar, but very little incentive for using it.
- Potential to be compatible with smartphones and tablets in the future. I am still studying that.
- No or very few dependencies. For Linux users, that means it doesn't matter whether they are using Gnome, KDE or any other graphical environment. This editor should run in any X/Xorg session without dependencies, because all the code is self-contained.
- I am planning macros and possibly some kind of macro or scripting language, like building with blocks, still not clear, but there will be some automation. Text can also be piped through external commands, so you can process text with any other scripting/programming language.
- I am planning built-in assistants for many common tasks such as formatting, sorting, numbering of lines etc. I have considered a plug-in structure so that anyone can contribute, but I am not ready for that yet, so don't take this as a promise.
- Smart, useful, feature-rich Open/Save dialogues will have smart bookmarks, remember previous files and directories, respond to modal input, etc. Those alone will be enough to impress most people and make you wonder why other applications don't have similar dialogs. You should be able to browse, find and open a file very, very fast.
- Some very, very basic syntax highlighting at first. Will improve it at a later stage.
- Ability to open and edit very large files.
- Configurable keyboard actions and toolbars.
- Optional fullscreen or even title bar in case your window manager doesn't provide that already. Windows doesn't, for example. Actually, I don't know what will NOT be configurable in this editor...
- Auto text or auto replace, whatever you want to call it. That can be used to correct common spelling mistakes or as a shorthand system. Possibly, also real-time spelling correction like the ones used on smartphones, so typos are corrected automatically and you don't have to worry much about accuracy.
- Of course, all ordinary features you find in most text editors, like word wrap, font face and size, background color (themes?), tab size, line numbers, find and replace (with regular expressions), and many other such amenities.
- Plain text configuration file: item=option.
- I will always be very open to feedback and feature requests, and support the code (bug fixes) for as long as ten years. I look forward to receiving a lot of suggestions and packing the editor with lots of features and attention to detail. By "detail" I could mean, for example, when you move the caret forward word by word, should the caret land immediately after the current word or before the next word? What if you move it backwards? What about punctuation? And what exceptions should be considered? All that should be configurable in my opinion.
- I might run a discussion list besides a bug tracker.
- Open source and free license.
- Written in Tcl/Tk, a language that runs almost seamlessly across several platforms, including Windows, Linux/Unix and Mac OS X. Like Java, but perhaps better. I intend to include an optional GTK binding that will make widgets look somewhat better.
I've been a hobbyist programmer for years and I have made some very simple applications for my personal use. I have a "day job" that I hate, not related to programming, but I need it to pay my bills. Funding of this project is supposed to fully support me for a few months, including ALL my personal expenses so I can quit my current job. Note that the final amount to reach my hands will be somewhat smaller than the goal established here due to fees, charges, income tax, etc. I am already accounting for those. I also need a new computer because I lost a good one and the one I have now is not adequate, it's a netbook. The netbook should be very useful for testing the editor and making it adequate to a small screen and slow CPU, I hate developers who assume that everyone has a huge screen, but I don't want to be coding in this lesser machine. I also may purchase a Mac (if I can't borrow one) to make sure the editor will run on it without any issues.
If this project is supported and I get positive feedback, I will try to make money here again with another idea for another project, which I already have. So I will try hard to please all users so they feel encouraged to support me again, in future crowdfunding projects. I can go back to my current job anytime, but I hope I don't have to.
For this reason, I have decided to go for the Fixed Funding option. I really need the full amount, so I can work on this project exclusively and without worrying about my basic needs, like rent and food etc. If I don't make it, I will try another idea/project or just give up altogether.
I am not just a hobbyist programmer, I am also a hobbyist writer (poetry, lyrics, short stories) and a professional translator (copy, reports, etc.) I know what it feels like to write for many hours, and I don't think I can say I have found the text editor I really, really like. I have used many, including MS Word and Vim. I remember how painful it was to learn Vim, I know that many people will never have the stomach to suffer through it, and for plenty of good reason. I want to make a text editor that will let any writer fly along the pages with smart tools and a very customizable interface. If this project is fully supported, it will reach users of the three most popular computing platforms, and hopefully set new standards for text editors and GUI design. I am the kind of person who uses a lot of software and spends considerable time wondering why GUI design is so bad most of the time.
Other Ways You Can Help
Contact people you know that would likely be interested in parting with money to support this project. But please DO NOT SPAM. Do not send unsolicited mail or any kind of message to all and sundry in any manner that may be perceived as harmful, inconvenient or inappropriate.
This is the project. Thank you for your kind attention.