What Light Table represents to me is the possibility to easily create domain-specific tools for editing "source code." Create a Clojure DSL for web pages, and render HTML while you edit. Create a Clojure DSL for audio, and render the audio in the browser. Create a Clojure DSL for business users to use to modify business rules, and let them see and interact with their changes right there in the editor. Seamlessly integrated with SVM and your system, the editor becomes more than an editor but a tool for evolving the capabilities of a system by a group of people that include far more than just programmers.
It's long been the dream to have an interface like this to do language oriented programming. Some attempts (JetBrains MPS, Intentional Software) seem to fall into the trap of being too holistic (invent everything from scratch) or too complicated. This is a great way forward since it uses just the right cutting edge tech (ClojureScript) with well understood tech (the browser.)
If it were me, here is how I would look at this project. This shouldn't be an IP/tool play. Make the tool free. What you are doing here is inventing a new way to build software. You want the world to shift to your vision. You want everyone to have it and not be willing to give it up. The posters in this thread lamenting they will have to abandon vi should be forced to look back years from now and laugh at themselves since a purely textual, console-based editor should look downright silly if you pull this off. (Yes, I am a hardcore vim user, but even I can see this is the beginning of a generational shift.)
Build facilities into the tool to let people mold it into an environment everyone in an organization can use to develop software collaboratively and in a domain-driven way. Make it so it will become an integrated part of any software development project. Make it so people can develop and iterate things in a startup-like way 10x faster than they can do now. Make it so the tool helps break down communication barriers that have existed since we started building software.
In the end, if this approach wins, you will be the authority on it. Once this has come together, you will easily make a killing on consulting and building custom domain-specific modules for high paying customers. Use the knowledge you learn from those experiences to improve the general purpose product. Write books on how to develop software this way. Get people to pay for training sessions. Spread the word.
The end game for this is wider in scope than you can probably imagine, if done right. It's not a matter of if but when. This is an important project and you will surely not be the only one trying to solve it. A good way to ensure the next person who works on this is able to overtake you is if theirs is the one that you can get for free.
FWIW, you described a good part of the overall vision I have (we just haven't really talked about it yet). Our goal is to build the platform used to create things and our plans for the business side ensure that anyone who wants to use it will be able to. There's much more than just an IDE here, I wholeheartedly believe that.
In any case, it's going to be a wild ride.. just gotta take it one step at a time :D
Comments
What Light Table represents to me is the possibility to easily create domain-specific tools for editing "source code." Create a Clojure DSL for web pages, and render HTML while you edit. Create a Clojure DSL for audio, and render the audio in the browser. Create a Clojure DSL for business users to use to modify business rules, and let them see and interact with their changes right there in the editor. Seamlessly integrated with SVM and your system, the editor becomes more than an editor but a tool for evolving the capabilities of a system by a group of people that include far more than just programmers.
It's long been the dream to have an interface like this to do language oriented programming. Some attempts (JetBrains MPS, Intentional Software) seem to fall into the trap of being too holistic (invent everything from scratch) or too complicated. This is a great way forward since it uses just the right cutting edge tech (ClojureScript) with well understood tech (the browser.)
If it were me, here is how I would look at this project. This shouldn't be an IP/tool play. Make the tool free. What you are doing here is inventing a new way to build software. You want the world to shift to your vision. You want everyone to have it and not be willing to give it up. The posters in this thread lamenting they will have to abandon vi should be forced to look back years from now and laugh at themselves since a purely textual, console-based editor should look downright silly if you pull this off. (Yes, I am a hardcore vim user, but even I can see this is the beginning of a generational shift.)
Build facilities into the tool to let people mold it into an environment everyone in an organization can use to develop software collaboratively and in a domain-driven way. Make it so it will become an integrated part of any software development project. Make it so people can develop and iterate things in a startup-like way 10x faster than they can do now. Make it so the tool helps break down communication barriers that have existed since we started building software.
In the end, if this approach wins, you will be the authority on it. Once this has come together, you will easily make a killing on consulting and building custom domain-specific modules for high paying customers. Use the knowledge you learn from those experiences to improve the general purpose product. Write books on how to develop software this way. Get people to pay for training sessions. Spread the word.
The end game for this is wider in scope than you can probably imagine, if done right. It's not a matter of if but when. This is an important project and you will surely not be the only one trying to solve it. A good way to ensure the next person who works on this is able to overtake you is if theirs is the one that you can get for free.
FWIW, you described a good part of the overall vision I have (we just haven't really talked about it yet). Our goal is to build the platform used to create things and our plans for the business side ensure that anyone who wants to use it will be able to. There's much more than just an IDE here, I wholeheartedly believe that.
In any case, it's going to be a wild ride.. just gotta take it one step at a time :D