The "And Light Table" section leaves a lot to be desired. I get that it's not abandoned but development.. used to be active on it and now?
I mean Light Table is a great IDE but it just needs so much done. It feels like 95% complete in every corner. The vim keybindings are buggy, Python plugin lacks proper virtualenv/custom python support, performance is not quite there either... I forget all the issues I encountered back when I used it but there has been very few releases since and it's super concerning to just see what was once an extremely active project slowly go in maintenance mode.
Please, quell my fears. You guys put together an amazing Kickstarter and used to put out so much in terms of updates and feature updates; I don't see that anymore.
With all that said, best of luck with Eve, sounds awesome.
Seconded. I am slightly disappointed by this announcement. I backed LightTable because I really wanted to see an alternative to Emacs (for Clojure development). But I was hoping that by raising funding the team would be able to actually implement the tool. The hard parts. The parts that many projects never get around to implementing, because there is no funding.
I certainly didn't expect the team would be "revisiting some of the foundational ideas of computing" so soon.
LightTable right now is a proof of concept. A very good one, but still — it has a long way to go until it can become an everyday tool. Let's not leave it hanging there. If you continue on this path, you will leave behind a trail of half-baked tools, each one a great concept, but none of them actually useful.
> If you continue on this path, you will leave behind a trail of half-baked tools, each one a great concept, but none of them actually useful.
FWIW, I agree with you. This is our path, though, and the funding and the people we've brought on to work with us prove that. We're locked in to Eve and we think it will ultimately have far greater and for more lasting impact than LT ever could.
So the best I can say is that we're all in on Eve (both personally and now as a company) and I think that's very important for this to have a chance to succeed.
Given the funding you got for LT, and the fact that you didn't finish it, what most people are going to read is "we're all in on Eve (both personally and now as a company) until we decide something else is more interesting".
This sort of thing (a pivot) happens all of the time with services, so why is it not ok for pure software?
I backed Light Table and enjoy it (though it is nowhere near my daily editor) but I'm excited about the shift in focus. Sometimes great ideas do not pan out to great products for a variety of reasons, and it would be fiscal suicide for them to keep the focus on Light Table if the team truly does not believe they will be able to reach the product/market fit they were hoping for. This is business, not charity after all.
To put it another way, Eve sounds like a really interesting solution to a hard problem and I'm really excited that this team is trying to tackle it. Stoked to see what the future brings.
Afaik a pivot happens when there's a problem with the current product/strategy. If LT is truly used by "lots of other people" (I believe it is) it shouldn't be difficult to salvage it: just run another kickstarter.
I can understand having ran out of the original kickstarter money, but after enteing Ycombinator I'd expect them to still have resources to avoid being forced to pivot
(trivia/disclaimer: I'm a kickstarter backer and Light Table was my main editor for some months)
I backed Light Table too based on the promising demo video and a fair amount of irrational exuberance. Eventually, my expectations did come down.
And, while Light Table is a polished little editor, it's hard to call Light Table an IDE without offering an apology. Light Table certainly is not what was promised.
In fact, Light Table was my first experience really being burned by a Kickstarter project. Nice that Chris Granger wants to reimagine computing, but he should finish what he starts.
Who would gift his crew with $2.3M given their track record? Atom, which did not promise an IDE has done more work on it's editor in a shorter time than Chris and crew. Buyer beware!
If they don't think that Light Table is going to be profitable for them as a company long term then yes, that's a problem with the current product/strategy. You're making a lot of assumptions about what the company can or can't do when the writing seems to be on the wall - They didn't feel comfortable moving forward with Light Table as a business so they are moving into a space with similar goals but (hopefully) a much larger opportunity.
It's a company full of smart people backed by smart investors, if there was a way to make LT work at scale I'm sure they would still be working on it.
They didn't "feel comfortable"? Is that all? Stated so dispassionately, it would be breathlessly easy to say. But I know the expectation and the agita that belie.
I was taught that when someone gives you even one dollar in consideration of something that you've promised, that taking the money is tantamount to an oath.
Light Table essentially proves the lie, since it is pretty far from the video. From where I sit, Chris and his team broke their oath and I won't be burned twice.
If Andreesen Horowitz believe that computing can be revolutionized for $2.3M, it's their cash to burn. Not surprised at all that they didn't turn to Kickstarter for funding.
I say this out of concern and not as some kind of quip, but one of the first thoughts that came to my mind after reading this was, "Well, I now know not to give the Light Table guys any money until I see a finished product."
I was very much interested in LightTable. If I had given money to the kickstarter fund I would be very ticked to find out that those funds were being redirected to a different project (and I would not give funds to those individuals again).
I am also trying to be helpful by pointing this out (not just taking a cheap shot).
Also, my gut reaction to this is "LightTable is effectively dead". Again, not trying to be mean -- just basing this on a long history of following the industry.
All that being said, it does seem that the LightTable folks are trying to be transparent about all of this, and that much is refreshing.
If they are successful in producing something very useful, my hat is off to them. But I have to admit that it sounds kind of "pie in the sky" to me in this announcement. Please feel free to prove me wrong :-D
Just to be clear: this is not Kickstarter funds being redirected. We worked on LT for 2.5 years, we were given 280K (after KS's cut), around 20k went to shirts/fullfillment. That's 260k for 3 guys in SF over 2.5 years... that money ran out long ago.
Thanks for clearing this up. It was not at all clear from the announcement. I would suggest that you update the original post so that others don't get the false impression that I did.
It would be a shame for that to be the case. The amount given was indeed much more than reasonably used up if it supported 3 people for 2.5 years (especially in SF).
> Just to be clear: this is not Kickstarter funds being redirected.
While that's good to know, I think that the implicit upside gain hoped for from Kickstarter that underlies a lot of decisions to fund through it (especially for software) is that acheiving funding means not just that the thing gets delivered, but that an effort is made to build a sustainable business model is built around it and support the user community. The perception that, having delivered the kickstarted product and spent a couple years on it the team would abandon it and move on to a very different kind of focus (even if in the same broadly drawn domain) understandably reduces the perception that that kind of upside potential is around for a future effort.
Now, one can argue that that kind of upside expectation is somewhat irrational in the first place, of course.
This is very good to know, and something that I was not at all aware of -- I started using Clojure and thus Light Table after the Kickstarter had ended. For some reason I just assumed Light Table had raised a huge amount, and for that I apologize.
As far as an alternative to Emacs for Clojure goes, try Cursive if you haven't already. It didn't exist when Lighttable started out, but has grown to be a damn nice IDE.
If it truly is "a great IDE" and "95% complete in every corner", yet it dies because the users (who all happen to be coders!) don't rally around it and contribute that last 5%, what does that mean?
I have personally contributed to LightTable but you vastly overestimate the amount of people who can contribute back. This is not a Python/C++ project, it's in ClojureScript, a much less known language.
And just because all of the users are devs doesn't mean they're devs who have time to dedicate to building an IDE while they could use something else like KDevelop, PyCharm, Sublime, vim, or hell even VS.
As just a plain editor, it's hard to compete with vim/emacs/sublime. The interesting things LT offered were around connecting to running pieces of software and the truth is that we just ran against a wall in what we can do with our current languages. That's why Apple's effort with Swift is so important: they're designing the language to be tooled. We didn't have that benefit and along the way we learned that it actually wouldn't help that much anyways.
Any single tool is going to be an incremental improvement (at best) on programming, because the source of the issues is really the model itself. My suspicion is that programming is going to change substantially over the next decade, because while we've been worried about machine learning, rails, and hadoop, the notion of the machine changed out from under us. We're already starting to hit a wall as a result of that - reasoning about highly concurrent systems with the programming models we have now is nearly impossible. If we continue pushing LT for that way of thinking, it's unlikely to make much of a difference. Instead, there's an opportunity to embrace that change and take the ideas of LT to their logical conclusion: what would a stack built for today's machine that is meant to be used by humans look like? We stumbled on a solution as we did more and more user testing of LT and in the interest of self preservation we ran with it.
More practically, though, incremental improvements are hard to sell - not just to VCistan, but to programmers as well. Hell, even orders of magnitude improvements are hard to sell to programmers. We'd have no way of sustaining ourselves if we couldn't find some avenue to eventually turn this into a business - we looked and couldn't really find a reasonably quick way to do that. Matching the millions of man hours that have been poured into vim/emacs and so on is just not in the cards for a couple of guys with not much funding. Plus it seems programmers are increasingly less interested in paying for anything in general, so that didn't make our prospects all that attractive. With Eve there's a much clearer path towards creating a sustainable business that is able to continue towards the ridiculous goal we set out with from the beginning: to empower the world's creators.
We use LT every day. Lots of other people do too. It fills an important part of the ecosystem and we hope it continues to infect other tools and organizations who have significantly greater resources than a couple of guys in SF. But either way we will do our best to make sure that it continues. Unfortunately, though, it just can't be our primary focus - both because I think that would be focusing on the wrong part of the problem and because at the end of the day we have to pay ourselves and there's just no way for us to do that.
I really appreciate this reply, I think most people would have ducked the question and moved on.
I still think that LT is going to slowly peter out, as there isn't enough momentum to dethrone existing IDEs / upcoming actively developed contenders.
That said, I think this level of transparency about where your collective heads are at is great. While some people may still be annoyed (particularly those who donated to the kickstarter) I applaud your willingness to change paths and do what you think needs to be done to succeed.
The fact that you're moving on from Light Table is perfectly fine. The problem is that you're not bothering to provide any sort of handover strategy.
A lot of people are interested in the project, would like to contribute to it, and would be happy to take over where you left off. However, this is difficult to do due to lack of documentation and any support from yourself.
Since you're not going to be actively working on the project, why not involve the community find individuals or an organization that would continue developing and maintaining it.
Surely, this is not too much to ask and it would be a responsible way to transition from the project.
I have stated from the beginning that I'm more than happy to get people more involved. When it has come up before I've said I'd gladly give people commit rights. There are only a couple of people who have contributed with any degree of frequency where that would make sense - Josh Cole and Mike Innes come to mind, for example.
I will certainly not stand in the way of the community and we're more than happy to help maintain.
My point was that the community needs more support from you in order to be able to contribute meaningfully. This involves actively finding people who would be willing to take over the project and working with them to help them get started.
Simply dropping the code on GitHub and saying that you're glad for people to get involved is not a sufficient level of support at this point. This might've worked when the project was younger and smaller, but it's just too big for people to be able to dive into now. The links I provided are a prime example of the problem.
Since you found the time to make a blog post about Eve, surely you could also make a post stating that you're looking to hand over Light Table and you'd like to help facilitate the transition.
As someone who dug in far enough to write a simple plugin and then backed straight out again with no wish to go back I agree completely. If the plan is that LT should survive then I do not think simply open sourcing it is going to be enough; it needs the core team to do at least a final push on getting the fundamentals right, clarifying the internal api's, and documenting the way forward. Then maybe the community can take over. As it is, I'm not hopeful.
I'm really excited to see what comes out of this, because I have no doubt that it's possible to come up with both better programming models and better environments to support them. That said:
a) More "traditional" languages aren't going anywhere, at least for the next few decades, however successful Eve is.
b) The idea of really connecting to the running program has a huge amount of potential, even in these languages. Less potential than Eve? Perhaps, but I don't believe for a second that we've hit that wall yet (and I wholly intend on proving that with continued work on the Julia plugin).
Leaving Light Table unfinished would be a travesty, even if it is only an incremental improvement – but it sounds like you'll at least treat it as an important side project, which is something. Best of luck with Eve, anyway.
Every time I dig into how Xerox PARC systems worked, my own experience with Smalltalk and Oberon, and then look for what we have, I always think we could have had so much better developer experiences if those technologies had succeeded in the market.
How much math do you know? Specifically of the type theory/domain theory/category theory variety. How many process calculi are you familiar with? Just curious.
I personally don't have much of a math background, but Jamie does (he went to Cambridge for it). FWIW, Eve is actually very heavily based on mathematics and using first principles there to guide us to a solution that is backed by more than just intuition.
Do you think you'll have enough time to improve on the documentation and plugin APIs in LT?
Whenever I've used it I've felt like a small amount of effort in those aspects will allow it to continue to progress in the hands of the plugin community.
I'm also really disappointed with this announcement. I had been putting off learning Emacs because I told myself "don't bother, give ibdknox and friends some time to put some polish on LightTable, and you'll have a modern Emacs".
I just got back into using Clojure after a bit of a hiatus (and after having learned vim). I found a very comprehensive book online called "Clojure for the Brave and True," but then saw that chapters 2 and 3 are about using Emacs. I figured, "Don't worry about that, I'll just use Light Table." I installed it and noticed that not much had changed. Still, I maintained hope that LT would keep improving and be the awesome Clojure/Clojurescript editor I thought it would become. Needless to say, I'll be reading those Emacs chapters this weekend. :(
I should have made note that the reason why I picked vim over emacs for general coding is that I found the various modifier key combinations required to seriously aggravate my RSI (I was unable to complete the tutorial); on the other hand, vim's modal editing has been a huge help. I'm aware of evil mode, so perhaps I'll have to go that route...
The ctrl+spacebar and search way that Light Table works, while not the fastest, was still preferable to holding down multiple modifier keys.
All that being said, the source of my hand pain might actually have to do with my neck and back, as working on those areas has substantially relieved my pain. So perhaps that will no longer be a barrier to emacs usage in a few months. :)
No, you're right. Emacs default keybindings and especially the longer 'chords' for frequently used commands are horrible.
I've never used the defaults[1] for long. First by making my own custom keybindings, then by making keybindings compatible to what most others applications use and a couple of years ago by switching to evil-mode. I already had vi/Vim experience so that was pretty optimal.
[1] Except some really basic ones that I also use in the shell: C-a, C-e, C-r, etc.
If you don't like to chord, you can always use M-x, the same way as invoking commands in light table and even better. See helm-M-x: http://tuhdo.github.io/helm-intro.html#sec-4
I retract the statement that Rich uses Cursive. I misinterpreted a tweet a while ago, and hope that I didn't cause too much harm. Instead, I'd like to say that Cursive is extremely nice and that you shouldn't let Emacs scare you away from Clojure.
it's.... it's software. Complex software (like an editor) is never finished. At some point all software is eventually abandoned. Thus all complex software is abandoned in an unfinished state.
This is a simple truth.
For my part I think they've delivered on the spirit of their Kickstarter. They released a very usable editor that does some amazing shit. It doesn't have every feature in the Kickstarter video, but that's because reality kicked in and they had to prioritize, and found that some of the features didn't work out as well when put to other users.
While freehunter is right, I think it's more that LightTable is too unfinished to be considered dead.
LT fills multiple spaces in the area of IDEs:
- An extremely-programmable IDE (there's no other one like it)
- A lightweight generic IDE (there's REALLY no other one like it). I almost wouldn't call it an IDE but it's more than a text editor... it's right in the middle of the two and it's great to have something fill that gap, especially for languages that don't always need full-blown IDE support (like python and clojure)
Heh okay, emacs is extremely programmable. I don't really consider it an IDE but that's fair.
It'd take a long time to explain the differences but emacs is far from lightweight, it's a beast. LT is very barebones. And LT is written in HTML/CSS/CLJS which makes it stylable and programmable as such, a real advantage over emacs.
Emacs is an IDE, first and foremost, to Emacs Lisp itself. Other Lisps are close. It's an excellent editors for other languages, and a good enough IDE for some languages. See my C/C++ guide in Emacs: http://tuhdo.github.io/c-ide.html.
Fyi, people wrote parsers, chat and email clients in Emacs that LT is still dreaming.
I use Emacs every day, and I think Emacs makes a terrible IDE or anything resembling an IDE. It's too slow, the GUI is too primitive, there's a whole host of other problems. I'll dump Emacs the instant something that fixes those issues comes around.
A few things are either slow, highly annoying, broken, or all three:
etags -- it's just an nightmare, full stop. It only gets you where you want to go half the time at most. And then because the GUI is so primitive you can't do basic things like click on a symbol and have it jump you to the definition, you're stuck using the keyboard interface designed for work in a terminal.
An etags that actually worked properly is one of the most basic things that could improve my productivity monumentally.
CEDET -- last used about 5 years ago, gave up because on larger files/projects it would just hang my editor for a few seconds as it processed.
Variable/symbol completion -- see etags.
I'm not doing a very good job communicating my dislikes / pain points because I'm not very good at communicating. Please do not respond with a "but these aren't problems because..." because they are problems for me, I just do a poor job of communicating.
I think you communicated your pain points well, because they are my pain points as well.
I gave up on emacs for Java development for the reasons you cited, but I still use it for REPL style development (Jython, Ruby Motion, XQuery, as a few current examples).
You are pretty out of date then. See my C/C++ guide (with demos): http://tuhdo.github.io/c-ide.html. It works fine on navigation projects like Linux kernel, it should work for you likely. With Projectile, I can jump any file instantly, even in Linux kernel with more than 46k files, and I've never seen this in an IDE.
And use GNU Global instead of etags. Finally, keyboard boost productivity many times over the mouse.
Ah yes, the good old "mouse? you're doing it wrong!" bit of elitism. Some people find keyboard navigation through a second buffer that pops up on the bottom to be not-good. I'm one of those people. I hate it when completion buffers, or anything related to a second buffer, pops up in my frame.
Google Chrome, or any modern browser for that matter, has a much better way of doing things. Imagine for a moment that I was browsing and editing code in Google Chrome instead. A symbol would be a link, and when I ctrl+clicked on it, it would open in a new frame. That would be an interface I could get behind.
For completion, it ought to work like the IDE I used back when I was writing Scala. A little tooltip would pop up with completions. You could scroll through them with the mouse or keyboard, and click or ENTER the one you want and it would paste in. Or you could ignore it completely and continue typing. This sort of UI is so much better than popping up a new buffer in the frame. But in Emacs UI, everything is a buffer and there are only three places they can (or usually do) go: in a new frame, in a new window, or in the minibuffer. Only that last one is usable.
GNU global is not a solution. It produces marginally better output than etags, but still requires you to actually run it whenever you make changes to the codebase. Or at least it did back when I tried it as an etags replacement.
Ah yes, the good old "mouse? you're doing it wrong!" bit of elitism. Some people find keyboard navigation through a second buffer that pops up on the bottom to be not-good. I'm one of those people. I hate it when completion buffers, or anything related to a second buffer, pops up in my frame.
There's nothing elite about the keyboard. It's just the keyboard enable higher productivity when it comes to write code.
For completion, it ought to work like the IDE I used back when I was writing Scala. A little tooltip would pop up with completions. You could scroll through them with the mouse or keyboard, and click or ENTER the one you want and it would paste in. Or you could ignore it completely and continue typing. This sort of UI is so much better than popping up a new buffer in the frame. But in Emacs UI, everything is a buffer and there are only three places they can (or usually do) go: in a new frame, in a new window, or in the minibuffer. Only that last one is usable.
Completion using a window buffer is still vastly superior because it can handle large collections. For example, here is how I filter completion candidates with Helm: http://tuhdo.github.io/static/c-ide/semantic-boost-demo.gif. Helm works even if you have 99999 candidates (not joking) to filter out. Here is how I quickly filter to a file and enter the file in Linux kernel source tree: http://tuhdo.github.io/static/helm_projectile.gif , very quick and simple; in contrast, the file search dialog box in typical IDEs is very complex with many checkboxes and text fields. How do you cope with completion popup with contains thousands of candidates in it?
GNU global is not a solution. It produces marginally better output than etags, but still requires you to actually run it whenever you make changes to the codebase. Or at least it did back when I tried it as an etags replacement.
i've not used lighttable, but as far as filling in the space between editor and ide goes, geany does a decent job. it doesn't have a ton of features, and the plugin mechanism is some combination of C and lua (which raises the entry barrier a bit), but it's definitely targeting that exact space.
I mean Light Table is a great IDE but it just needs so much done. It feels like 95% complete in every corner. The vim keybindings are buggy, Python plugin lacks proper virtualenv/custom python support, performance is not quite there either... I forget all the issues I encountered back when I used it but there has been very few releases since and it's super concerning to just see what was once an extremely active project slowly go in maintenance mode.
Please, quell my fears. You guys put together an amazing Kickstarter and used to put out so much in terms of updates and feature updates; I don't see that anymore.
With all that said, best of luck with Eve, sounds awesome.
... Edit: I think these graphs are pretty telling. https://github.com/LightTable/LightTable/graphs/code-frequen...