

Light Table's Numbers, And What's Happening Next - zachallaun
http://www.chris-granger.com/2012/04/15/light-tables-numbers/

======
frio
Good 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
Thanks 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. :)

~~~
haliax
Transparency is a great idea. May I suggest starting off by releasing your
intended feature list for the product? That way, with each release, you can
cross things off the feature list, and people can see that you're making
progress.

~~~
gfodor
Going to disagree that this is a good idea. One of the worst things you can do
is release a product "road map." It makes expectations way too _specific_ ,
and will put you in the position where if you need to alter or change that
roadmap you are going to get _pre-emptive_ backlash for work you have not even
done yet.

~~~
ibdknox
Yeah I don't think I'll release that either, this is far too uncertain of a
territory. Instead, I'd rather be much more present focused.

------
6ren
I'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_...](http://en.wikipedia.org/wiki/Threshold_pledge_system#Street_Performer_Protocol)
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
Even 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
My 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.

~~~
zokier
Another similar case: Photoshop.

~~~
89a
Which actually became easier to pirate in the later versions

------
gfodor
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.

~~~
ibdknox
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

------
leif
Please 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
As far as I understand, the actual editors are going to be codemirror
instances. ( <http://codemirror.net/> )

If it doesn't have proper support, perhaps you could help add it?

~~~
leif
He 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.

------
btipling
I 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
I 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
Ignoring 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> \- 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>

~~~
falcolas
From 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.

------
zachallaun
I 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
it'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.

~~~
rbxbx
Perhaps a tool similar to
[Titanium]([http://www.appcelerator.com/products/titanium-desktop-
applic...](http://www.appcelerator.com/products/titanium-desktop-application-
development/)) 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
You can also just do this with Qt and QtWebKit. Qt5 is supposed to focus on
this usage specifically though I haven't tried it.

~~~
jhchabran
That sounds a neat way to still provides a comfortable user experience whilst
working on languages not easily embeddable in the browser.

~~~
wahnfrieden
Indeed, especially with PyQt. The problem is that your binaries can easily be
huge on Mac/Win.

~~~
jhchabran
Well 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.

------
shadowfiend
Super 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
In 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
Yeah, 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 ;)

------
guelo
That 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.

~~~
robryan
I notice that to, figured the community was just piling on more to the current
top stories. Diversity is a little down, I assume new submissions are still
rising, just less being seen.

------
perfunctory
Please make a good product and just charge money for it. Why is it a taboo to
charge for dev. tools these days?!

~~~
scott_w
It'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.

~~~
jhchabran
There'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
Frankly 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.

~~~
jhchabran
Well, there are things you can expect from a code editor, like not crashing or
getting sluggish because you opened your logs. At least this issue was present
when I left Textmate.

Besides that kind of details, Textmate is indeed a very well made product,
that go t a lot of things right from the beginning as you said. But it's just
sad to see it just "froze" as it is.

Anyway it's not really about an update frenzy, it's basically as it's not an
open product but one we paid for, I expect them to polish it over time.

------
etherealG
Why 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.

------
ivanzhao
Good move.

Could you briefly explain your decision of using CodeMirror instead of Ace
editor?

~~~
ibdknox
Originally 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
We 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!

------
biscotti
Id 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.

------
alrex021
Not 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.

------
Bleys
I 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://worrydream.com/#!/KillMath>

~~~
icandoitbetter
Light Table was actually heavily inspired by BV's work by his own admission

------
plessthanpt05
Javascript and Clojure? Seems like, a'hem, Python support might be of interest
to some of us ;)

<http://news.ycombinator.com/item?id=3746692>

(...but imagine it's probably just a matter of time.)

~~~
ibdknox
depending 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
Do 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?

------
seanmcdirmid
This 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!

------
kungfooguru
Someone should take the nice interface ideas and add them on top of Emacs :).
I like a lot of parts of the look.

------
politician
As 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.

------
huragok
I 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.

------
kinleyd
Congratulations for the awesome response to Light Table. I look forward to
using the final version. Good luck going forward!

------
methodin
Can anyone shed light onto the type of machanisms that would go into making a
real-time code executor like we see here?

------
SchizoDuckie
Could this not start as a Sublime text 2 plugin? Much of what I see should be
possible there

------
coob
Entirely unrelated, but I'm really hoping linen goes the way of pinstripes.

------
somethingnew
Wow this is really cool! I would love to an editor like this for nodejs!

~~~
eaurouge
Just 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>

------
Arcanis
How could you make closed-source javascript plugins ?

------
speg
This is going to be really hard to do browser based... Why not harness the
power of native?

~~~
Flenser
which native?

------
soapdog
anyone here knows if the kickstarter is already online?

------
drivebyacct2
I'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.

------
Randgalt
A comparison chart would be nice. I watched the demo and and couldn't what
Light Table does that IntelliJ doesn't do.

