Funded! This project was successfully funded on June 1, 2012.

Photo-main
Play
00:00
00:00

Light Table is a new kind of IDE - a reactive work surface for the creation and exploration of our programs.

If we hit $300k, Python will be the third language to be supported out of the gate.

RE: Open source / FAQ, scroll to the bottom.

Here's a much higher quality video: https://vimeo.com/40281991

Despite the dramatic shift toward simplification in software interfaces, the world of development tools continues to shrink our workspace with feature after feature in every release. Even with all of these things at our disposal, we're stuck in a world of files and forced organization - why are we still looking all over the place for the things we need when we're coding? Why is everything just static text?

Bret Victor hinted at the idea that we can do much better than we are now - we can provide instant feedback, we can show you how your changes affect a system. 

We can do better, and to that end, light table is the redefinition of how we develop.

Light Table is based on a very simple idea: we need a real work surface to code on, not just an editor and a project explorer. We need to be able to move things around, keep clutter down, and bring information to the foreground in the places we need it most. Here's what the default mode looks like:

Light table is based on a few guiding principles:

  • You should never have to look for documentation
  • Files are not the best representation of code, just a convenient serialization.
  • Editors can be anywhere and show you anything - not just text.
  • Trying is encouraged - changes produce instantaneous results
  • We can shine some light on related bits of code

Let's take a look at how these things manifest themselves in Light Table.

Docs everywhere

When you're looking at new code it's extremely valuable to be able to quickly see documentation left behind by the author. Normally to do so you'd have to navigate to the definition of the function, but lightable ghosts this information in to the side. Want to know what partial does? Just put your cursor on top of it. This makes sure you never have to worry about forgetting things like argument order ever again.

We work with new code all the time and it's easy to forget what that function that adds a link on to a page is - we should be able to search all our documentation in place to quickly see what it is. Don't remember what was in the noir.core namespace? It's one ctrl-f away.

This is especially handy for finding functions you may not even know exist and seeing their docs right there. No need to look at some other generated documentation.

Instant feedback

In Inventing on PrincipleBret showed us that we could live-edit games and write binary search in an editor that is constantly evaluating and showing you what's going on. The lispers among us are used to using the REPL to have an environment where we can try things out. But we can do better - we can do it in place and instantaneously. For example here I type the code (+ 3 4) and we immediately see that it evaluates to 7 - no ctrl-enter or anything else.

Light Table takes this idea as far as it can and doesn't just show you variables to the side, but actually shows you how the code is filled in. This lets you see how values flow through arbitrarily complex groups of functions.

This level of real-time evaluation and visualization basically creates a real-time debugger, allowing you to quickly try various inputs and watch it flow through your code. There's no faster way to catch bugs than to watch your program work.

We built drafting tables for a reason

Towards the end of my time on the Visual Studio team, I came to the conclusion that windows aren't a good abstraction for what we do. Other engineers have large tables where they can scatter drawings, tools, and other information around. A drafting table is a much better abstraction for us. We shouldn't need to limit ourselves to a world where the smallest moveable unit is a file - our code has much more complex interactions that we can better see when we can organize things conceptually.

We saw an example of this with Code Bubbles, but it doesn't take it far enough - why can't we embed a running game on our work surface? Then we can interrogate it, ask it questions and have our environment answer them for us.

Code with a little illumination

There's no reason our tools can't help us understand how things are organized in our programs. In light mode, Light Table lets you see what functions are used inside of the one you're currently working on, not just by highlighting ones in your code, but by also showing you their code to the side.

We shouldn't have to constantly navigate back and forth to see how the various bits of our code work with one another.

Finally, all of this culminates in the ability to see not just how things I type into a scratch editor evaluate, but how values flow through our entire codebase. Here I find a bug where I wasn't passing x correctly. I type (greetings ["chris"]) and immediately see all the values filled in not just for the current function but all the functions that it uses as well.

What languages will it support?

The first two languages it will support are Javascript and Clojure, but the application will be written in such a way that adding new languages can happen through plugins.

Will it be open source?

I'm a firm believer in open source software and open source technologies. I can guarantee you that Light Table will be built on top of the technologies that are freely available to us today. As such, I believe it only fair that the core of Light Table be open sourced once it is launched. At some level, this is an experiment in how open source and business can mix - it will be educational for us all.

What's a license then?

In order to download packaged distributions, you'll need a license. Preliminarily, we're thinking licenses will be based on a "pay what you can/what you believe it is worth" model for individuals. This gives everyone access to the tools to help shape our future, but also helps us stick around to continue making the platform awesome. We think what we build will be worth at least $50, and so that's what we've used for our rewards.

Why 200k?

While I can put together a prototype on my own, I certainly can't build an entire IDE in any reasonable amount of time by myself. The more money we get, the larger the team I can put together to turn this thing into a reality. The 200k, after taxes and rewards, will help us at least assemble a small team and keep us clothed, fed and housed.

Another thing to keep in mind is that the rewards shouldn't be viewed as a way to "buy" Light Table. Instead they are a way for you to help make the project a reality. I will definitely be needing help from people to build the project and without your support and donations, there isn't really a way for us to make that happen.

How long will it take?

The tentative plan is to release a full beta around the turn of the year and have an official launch May of next year. As it stands currently, it will include all the things I've shown in the video for both JavaScript and Clojure, but should we continue to get more funding we can add even more. 

Does more funding mean more stuff?

Absolutely! I can hire a bigger and more diverse team so that we can add support for more languages and potentially even cooler things than I've shown in the video. We'll have to think more about what those tiers might be.

Is it a standalone app?

Yes. The fact that there's an instance of webkit as the UI layer is completely an implementation detail. It will be packaged like a normal app and it will run locally just like any other editor you're used to. This means that it can run on virtually any platform and will support the big three (linux/mac/windows) out of the gate.

Can I script/extend it?

It will be scriptable in Javascript or anything that can compile down to it :) Ultimately the goal of the platform is to be a highly extensible work surface - even the initial core languages will be written as plugins. This allows us to build development interfaces we haven't even imagined yet.

What about key bindings?

I'm a VIM guy myself, but since we'll be using the awesome CodeMirror editor, this is something that is easily adapted. If you're looking for a way to contribute, help improve CodeMirror and its emacs/vim plugins!

How can I help in the meantime?

Like I said above, help improve CodeMirror. The better that editor is, the better all editors on the internet can be! Past that, help us spread the word. The more money we get the more people I can involve in the project, the more languages we can support, and the more powerful we can make the entire platform. There's tremendous potential that we haven't even scratched the surface of yet!

And why should we believe you can deliver?

I've been programming professionally for 8 years, during which I've built websites large and small (puma.com, newbalance.com, etc), helped design the future of Visual Studio, and released numerous open source libraries and frameworks. While at Microsoft I was the Program Manager for the C# and VB IDE where I spent countless hours behind a one way mirror learning how people develop things. Since then I've steeped myself in the world of startups and OSS. I worked with the guys at ReadyForZero to build readyforzero.com, created the Noir web framework, built the SQL abstraction layer Korma, and released a host of ClojureScript libraries to make client side development a breeze - many of which are now featured in the canonical books for Clojure. Even more recently, I built Bret Victor's live game editor after watching his inspiring "Inventing on Principle" talk. I have a history of building useful software and a hunger for making developers more efficient, as well as experience leading and shaping the the future of a billion dollar product.

Why aren't t-shirts included for all rewards?

I've heard nothing but horror stories about the logistics of trying to deal with a mass amount of physical products to distribute. Dealing with that would take away valuable time and resources from the real reason we're here; to build Light Table. :)

FAQ

  • I've heard nothing but horror stories about the logistics of trying to deal with a mass amount of physical products to distribute. Dealing with that would take away valuable time and resources from the real reason we're here; to build Light Table.

    Last updated:
7,317
Backers
$316,720
pledged of $200,000 goal
0
seconds to go
  • Pledge $15 or more
    You selected

    4258 backers

    Get added to the list of contributors to the project for showing your support + a license of Light Table

    Estimated delivery:
  • Pledge $15 or more
    You selected

    45 backers

    Get added to the list of contributors to the project for showing your support.

    Estimated delivery:
  • Pledge $30 or more
    You selected

    132 backers

    A beautiful Light Table t-shirt (add $10 shipping to Canada and $15 international)

    Estimated delivery:
  • Pledge $50 or more
    You selected

    1641 backers

    A license for Light Table and early beta access.

    Estimated delivery:
  • Pledge $50 or more
    You selected

    186 backers

    A license for Light Table

    Estimated delivery:
  • Pledge $80 or more
    You selected

    245 backers

    By popular request, this is a license for Light Table and a t-shirt.

    Estimated delivery:
  • Pledge $100 or more
    You selected

    260 backers

    A license for Light Table and early beta access, as well as participation in our feedback rounds. Throughout the product we'll have big questions where we'll want feedback from you. This is your chance to participate.

    Estimated delivery:
  • Pledge $100 or more
    You selected

    138 backers

    A license for Light Table and early access to the betas.

    Estimated delivery:
  • Pledge $130 or more
    You selected

    150 backers

    A license for Light Table and early access to the betas + the t-shirt

    Estimated delivery:
  • Pledge $200 or more
    You selected

    32 backers

    Two licenses of Light Table and pre-beta access, as well as participation in our feedback rounds. Throughout the product we'll have big questions where we'll want feedback from you. This is your chance to participate.

    Estimated delivery:
  • Pledge $200 or more
    You selected

    15 backers

    Two licenses for Light Table and pre-beta access.

    Estimated delivery:
  • Pledge $230 or more
    You selected

    19 backers

    Two licenses for Light Table and pre-beta access + the t-shirt

    Estimated delivery:
  • Pledge $500 or more
    You selected

    23 backers Limited (27 left of 50)

    Four licenses for Light Table, the Light Table t-shirt, and be part of our absolute earliest user testing. You will get the chance to help shape the entire experience.

    Estimated delivery:
  • Pledge $1,000 or more
    You selected

    5 backers

    10 licenses of Light Table and acknowledgement as a backer of the project.

    Estimated delivery:
  • Pledge $5,000 or more
    You selected

    0 backers Limited (20 left of 20)

    25 licenses of Light Table and acknowledgement as a sponsor of the project.

    Estimated delivery:
  • Pledge $10,000 or more
    You selected

    4 backers Limited (1 left of 5)

    You don't just believe in the product, you believe in the vision and want to be recognized as a true contributor to the future of development. Primarily targeted at companies, you'll have your logo on the front page of our site for at least a year and be a part of all of our launch activities and receive 50 licences of Light Table.

    Estimated delivery:
Funding period

- (45 days)