7 ms·
Light Table's Numbers, And What's Happening Next
- greenpizza13 15y agoAbsolutely exciting. I will help fund the Kickstarter as soon as its available. Ah! So excited.
- zachallaun 15y agoI am incredibly excited about this. One thing that I'm curious about, however: it (seems like it) will be a web-based platform. Can anyone comment on whether or not this is an advantage or disadvantage? I imagine a fully functioning offline mode will be available, and I can see chaching things like documentation locally, etc. But there must be a compelling reason that newer editors are not web-based (or maybe the better term would be browser-based).
- ibdknox 15y agoit'll use a browser for the UI layer, but that's it. So browser-based is a better term I think. No internets needed. In the end, though, even that will probably be abstracted away into a webview or something. The overall distribution story is something I'm kind of curious about myself at this point. Lots of exploring to do there.
- deleted 15y ago[deleted]
- rbxbx 15y agoPerhaps a tool similar to [Titanium](http://www.appcelerator.com/products/titanium-desktop-application-development/ http://www.appcelerator.com/products/titanium-desktop-applic...) would suit the needs of this project. Essentially you write your application in standard html/css/js and are then able to distribute OS-specific applications for all major platforms. Similar to PhoneGap, but I think the results are a bit better with desktop apps :) (especially something as "simple" as a text editor.
- wahnfrieden 15y agoYou can also just do this with Qt and QtWebKit. Qt5 is supposed to focus on this usage specifically though I haven't tried it.
- dagw 15y agoI'm pretty sure Rstudio uses this approach. The core app is all HTML/Javascript, but then they make a desktop version by putting a thin Qt wrapper around it and adding a few minor things like a relevant menu bar.
- jhchabran 15y agoThat sounds a neat way to still provides a comfortable user experience whilst working on languages not easily embeddable in the browser.
- wahnfrieden 15y agoIndeed, especially with PyQt. The problem is that your binaries can easily be huge on Mac/Win.
- jhchabran 15y agoWell we can imagine choosing a version statically linked or a dynamically linked one when dowloading ? I agree it isn't a really slick solution, but it's a tool for developers it won't hit too hard the entry barrier.
- somethingnew 15y agoWow this is really cool! I would love to an editor like this for nodejs!
- eaurouge 15y agoJust in case you didn't know, and for others that don't, nide[1] is a web-based IDE for Node.js. And no, I'm not comparing it to Light Table. [1] http://github.com/coreh/nide http://github.com/coreh/nide
- ivanzhao 15y agoGood move. Could you briefly explain your decision of using CodeMirror instead of Ace editor?
- ibdknox 15y agoOriginally I started using it when I was building a platform to teach coding and it had the best Clojure support :) I remember getting annoyed by ACE's setup, whereas I just dropped CodeMirror in and it worked. The code definitely seemed easier to approach to me too.
- speg 15y agoWe use Ace at work and this weekend I was looking for something else for a weekend project. I happened to pick CodeMirror and got the same results as you. It just worked. Plus, the docs were really well done. +1 for CodeMirror!
- shadowfiend 15y agoSuper excited about this. Will definitely be looking into CodeMirror's vi key binding support and how I can help there. Can't wait to see alphas and play with the bindings, as well. I would love to get a chance to see if it would be possible to run an out-of-band process to run some of the same stuff for a compiled language that does have a REPL and stuff that produces nice ASTs from code (e.g., Scala or even Java). I also get the feeling there's going to be some space here to ease things with regards to testing… Not only because you'll be able to see your tests expanded instead of having to step through, but I think there's potential for just running some test code, seeing the output, checking it's right, and then hitting a key combo to codify that into an automated unit test. Definitely feels like there's so much awesome lying around the corner. Mad props for putting this together and deciding to carry through with it. I'll be keeping an eye out for the Kickstarter.
- ibdknox 15y agoIn terms of out-of-band, it's being designed that way from the ground up so that we can support as many runtimes as you can imagine. Basically if you can create a service that talks over tcp and can handle JSON, you should be able to add support for it to Light Table. I think that might be the coolest part of the platform. :) I definitely have thoughts on testing and there's a ton of interesting stuff we can do there.
- shadowfiend 15y agoYeah, the biggest problem that a language like Scala will run into will be that the instantaneity will have to deal with a compiler hit, particularly if you have to hot swap code (where possible!) as you edit it. Still, wouldn't be fun if it wasn't a challenge ;)
- firefoxman1 15y ago> Will definitely be looking into CodeMirror's vi key binding support and how I can help there. Me too. One thing that might be helpful is looking at Cloud9 editor, which just recently added a "VIM Mode".
- 6ren 15y agoI'm very interested in how the business side will work out. On the one hand, it's very fair to make some money when you make something great (and it funds ongoing creation). On the other hand, dev tools are expected to be free and it feeds massive adoption (and if not free, devs have the ability reverse engineer e.g. linux and gcc). The common wisdom is that smalltalk got killed by high prices. There are exceptions: MS VS; some editors. Maybe the older, broader the appeal, and closer to the dev, the greater the pressure for free - so that new, specialized, and close-to-customer tools resist commoditization. Light table is new, but general and close to dev. The Street_Performer_Protocol http://en.wikipedia.org/wiki/Threshold_pledge_system#Street_Performer_Protocol http://en.wikipedia.org/wiki/Threshold_pledge_system#Street_... fits perfectly with KS. But personally, I love the idea of making something great and getting rewarded in proportion to its greatness (as in product sales), not a fixed reward. An ideal solution seems to be to charge large customers (e.g. over 10 employees? Over 100?), but I've not seen this explicitly attempted... but I guess it's achieved by "enterprise" versions, with extra features, particularly those needed only by large customers... that may be what is being considered with "some plugins may remain closed source". Then one could create a marketplace for plugins, an app store etc.
- quanticle 15y agoEven Microsoft Visual Studio isn't that expensive. Microsoft created it's Express Editions partly as a response to the fact that institutions were choosing Linux for introduction to programming, because of the plethora of free tools available. And even before Visual Studio had free versions, Microsoft was rumored to be turning a blind eye towards piracy of Visual Studio, so that programmer who used a (pirated) copy of Visual Studio at home would ask for a (legitimate) copy of it at work.
- zerohp 15y agoMy gut feeling is that Microsoft has turned a blind eye toward piracy by individuals for many years. Almost everyone I know who began doing system administration during the late 90's learned NT4 by pirating it.
- huragok 15y agoI could only imagine how awesome developing .NET apps would be like with Light Table using Project Roslyn or Mono's CSharp compiler-as-a-service.
- politician 15y agoAs excited as I am about this concept, I was worried that a Kickstarter-backed project would result in a closed-source deliverable; thankfully it sounds like he's interested in releasing the source at launch. I'll definitely be contributing to this.
- frio 15y agoGood luck, and stay strong. I think the demo you created was incredibly impressive, and I suspect a lot of people will therefore expect a lot from this product. This is going to sound overly pessimistic, so please forgive me - but I suspect that, as time goes on - and it will, because to me the goals of this project seem huge, and the problems you're attempting to solve seem hard - you'll probably cop a bit of backlash over the time taken, not living up to expectations, etc. I hope that if that happens, you're able to ignore it and keep working on it anyway. Regardless of whether you accomplish your goals or not, I'll happily be throwing some money into the kickstarter and crossing my fingers for you guys, because the actual idea behind this is awesome.
- ibdknox 15y agoThanks I appreciate the support and it's a good reminder :) I completely agree with you. There's always good and bad to presenting something like this. On the good side it gets people dreaming - it leaves enough to the imagination for it to seem amazing, for the possibilities to be endless. But unfortunately those things cannot map perfectly to reality, at least not all of them. Having worked on VS, I definitely know I can't build an IDE over night, not by myself, not even with 100's of people. And for some that will take the magic out of it initially. The way to combat that, though, is through transparency I think. I will be very open as the project goes on. I want people to know what we're thinking, what we're working on, and why we're doing it. My hope is that we can sustain a dialog as time goes on about how we as a community of creators go about creating things. Despite the realities though, I will do my absolute best to deliver some of that magic. :)
- Retric 15y agoI wish you the best of luck. With that said, most of these ideas have been in one demo or another for quite a while. As soon as you leave toy problems behind and try to visualize loops, objects, and deep recursion it's next to impossible to visualize flow and your back to inspecting breakpoints. But, if you want something you could probably implement and get people to use I would suggest something like XSL-FO. It's a pure functional language so you don't need to worry about loops, objects, or changing state just deep recursion. Unlike Lisp, C#, or even Java there is no great IDE's out there and your rarely dealing with multi megabyte's of code. You can even start with XPath, XSL-FO, and then try and get a more complex functional language working.
- btipling 15y agoI could not switch away from vim for some kind of meager and broken vim-ish interface. Apparently "vim bindings" just means jklhiI$^0/ support, as if that's in any way able to approach an iota of what makes vim great. Don't even bother with vim key bindings. I have yet to see even half-hearted support for a decent vim like interface on these new web based editors. The fact of it is that being as powerful as vim requires a decade or two of work more than anyone is willing or able to offer. If these people looking for a new editors all the time are not already using vim I doubt they would have the patience it would take to get it up to vim's speed.
- falcolas 15y agoI wholeheartedly agree that there is more to Vim than jkhiI$&0... but berating such a fantastic product is very counter productive. Instead, think of ways (or contribute ways) to improve the VIM plugins to Code Mirror. Even suggesting which other parts of VIM you find so useful would be of more use than berating them for using VIM plugins instead of VIM itself.
- 6ren 15y agoIgnoring OP's harshing, it does seem hopeless. There's little incentive. Probably the easiest way is to compile vim direct to javascript (or java), and ignore/hack the OS integration. Unfortunately, improving the plugin seems to have fundamental limits (see the js for the actual bindings http://codemirror.net/keymap/vim.js http://codemirror.net/keymap/vim.js - there's a few more than I'd expected): > Because CodeMirror's internal API is quite different from Vim, they are only a loose approximation of actual vim bindings, though. http://codemirror.net/demo/vim.html http://codemirror.net/demo/vim.html
- falcolas 15y agoFrom a theoretical point of view - all text editors offer nearly the same feature set, so all features should be available through a different set of keybindings. In reality, of course, this can be difficult if the editor doesn't offer reasonable support for accessing all of the keybindings through the API. Still, CodeMirror does seem to offer better support than most.
- Bleys 15y agoI hope that you incorporate some of the ideas Bret Victor has been advocating. He might even be interested in helping directly. If you're not familiar with him or his work, here's a good start: http://vimeo.com/36579366 http://vimeo.com/36579366 http://worrydream.com/#!/KillMath http://worrydream.com/#!/KillMath
- icandoitbetter 15y agoLight Table was actually heavily inspired by BV's work by his own admission
- deleted 15y ago[deleted]
- Randgalt 15y agoA comparison chart would be nice. I watched the demo and and couldn't what Light Table does that IntelliJ doesn't do.
- plessthanpt05 15y agoJavascript and Clojure? Seems like, a'hem, Python support might be of interest to some of us ;) http://news.ycombinator.com/item?id=3746692 http://news.ycombinator.com/item?id=3746692 (...but imagine it's probably just a matter of time.)
- ibdknox 15y agodepending on how we do on the funding route, python and ruby would be my next choices. JS is the next easiest one to build this for I think (though it's far more difficult than Clojure). Either way, even if we don't end up building it, I certainly believe it will materialize :)
- politician 15y agoDo you plan on launching with Clojure support, and then later on add JS support? Since JS is far more difficult, do you worry that the project will morph into a quagmire as you try to fit all of the features in? Do you have a plan to mitigate that risk?
- drivebyacct2 15y agoI'm sorry, this is off-topic, but why did no one tell me how impressive Code Mirror is. Every limitation I can think of in a browser-based text editor is accommodated in the usage examples. Honestly, I couldn't believe he was going browser-based with this. Will be cool to see.
- leif 15y agoPlease please please support parenscript for customization (this means you write a parenscript API that looks a lot like elisp). Plenty of editors think "emacs bindings" means C-n, C-p, and C-v, and hardcode C-space to something intellisense-ish. And forget about the kill ring or infinite undo. These are the heart of emacs. If you don't have them, emacs users will never be able to switch.
- Tuna-Fish 15y agoAs far as I understand, the actual editors are going to be codemirror instances. ( http://codemirror.net/ http://codemirror.net/ ) If it doesn't have proper support, perhaps you could help add it?
- leif 15y agoHe said javascript customization, right? That makes it sound like something he would add, so I'm lobbying for parenscript as well. I get that codemirror is the thing to contribute to, I don't have the time right now but hopefully someone will.
- guelo 15y agoThat story did seem to spend an inordinate amount of time on the front page, but I've been noticing that in general there has been slower turnover on the front page. I wonder if there has been an algorithm tweak or if it is due to some change in community behavior.
- seanmcdirmid 15y agoThis is what I envisioned for the Scala IDE when I started that project 6 or so years ago. But I got frustrated when it started turning in a Java-Frankenstein monster that was trying to embody all of what I thought was wrong with Java ecosystem. Eclipse just wasn't the right platform, and the Eclipse IDE metaphors are just clunky and outdated. My ScalaLive proposal was perhaps 6 years too early, while I never really figured out to package up my live programming work as well as Bret and Chris have. I'm glad that this project exists and is being pursued. Its about time!
- kinleyd 15y agoCongratulations for the awesome response to Light Table. I look forward to using the final version. Good luck going forward!
- Arcanis 15y agoHow could you make closed-source javascript plugins ?
- alrex021 15y agoNot to sure if anyone has mentioned this yet. If you run light table as client(browser)/server model, then effectively your sever could run in a cloud and your session would be reachable from any browser no matter where and what computer or smart phone/tablet you are on. With things like ClojureScript and Meteor, this is very achievable today and a definite game changer. Exiting times we live in. [edit] Oh and good luck Chris and the team.
- killnine 15y ago"Exiting times we live in." Almost fits better... as in we're leaving the past, or era of emacs/vim. Still, I remain curious if this was deliberate or typo?
- perfunctory 15y agoPlease make a good product and just charge money for it. Why is it a taboo to charge for dev. tools these days?!
- scott_w 15y agoIt's not taboo - just observe the success of Visual Studio. I think charging for tools does limit the potential user base of those tools. After all, why pay for an editor when vim is free? The same applies for a lot of development tools. Another potential reason is that charging for something creates an expectation of quality and support. This attracts certain classes of user, but not everyone wants to provide this expectation. Giving the tool away for free helps absolve the developer of responsibility at a later date.
- perfunctory 15y agoAgree with your comment. To elaborate a little bit: > After all, why pay for an editor when vim is free? Why develop a new editor if it's not gonna be better than vim?
- jhchabran 15y agoThere's another caveat. Just look at what happened to textmate, it was closed source many of us paid for it. The author decided to rebuild everything and we didn't get any real update for like three or four years. And yet we couldn't do anything about it. And yet it didn't met the community expectations. Seriously, building a code editor is a massive amount of work, having it open means you'll find someone to help if you don't have a massive company like microsoft behind you.
- perfunctory 15y agoFrankly TextMate met my expectations just fine and I don't regret paying for it. > we didn't get any real update for like three or four years Call me old-fashioned but I can't keep up with updating all my tools every few month. Maybe three four years is a bit too long but it's nice to have some period of stability. Despite not having major updates TextMate remained very popular. It must have gotten many things right from the very first release. I wish there were more products like that.
- etherealG 15y agoWhy not open source now? There's clearly a bunch of people that would like to help and some (me included) have more free time than money to offer.
- coob 15y agoEntirely unrelated, but I'm really hoping linen goes the way of pinstripes.
- biscotti 15y agoId like to see a pricing model similar to SublimeText - full functionality with very occasional prompts, in Sublimes case when you save. Since the prompts are user invoked they're discrete enough to allow an unlicensed SublimeText to function as a main editor without making the user feel nagged, it's inexpensive and with its indie developer engaged in the community & active in improving the editor licensing has a feel good factor attached.
- methodin 15y agoCan anyone shed light onto the type of machanisms that would go into making a real-time code executor like we see here?
- speg 15y agoThis is going to be really hard to do browser based... Why not harness the power of native?
- Flenser 15y agowhich native?
- kungfooguru 15y agoSomeone should take the nice interface ideas and add them on top of Emacs :). I like a lot of parts of the look.
- soapdog 15y agoanyone here knows if the kickstarter is already online?
- gfodor 15y agoWhat 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.
- SchizoDuckie 15y agoCould this not start as a Sublime text 2 plugin? Much of what I see should be possible there
- deleted 15y ago[deleted]