Share this project

Done

Share this project

Done
Light Table is a new kind of IDE - a reactive work surface for the creation and exploration of our programs.
Light Table is a new kind of IDE - a reactive work surface for the creation and exploration of our programs.
7,317 backers pledged $316,720 to help bring this project to life.

About this project

Light Table project video thumbnail
Replay with sound
Play with
sound

$316,720

7,317

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:

Support this project

  1. Select this reward

    Pledge $15 or more About $15

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

    Less
    Estimated delivery
    45 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $15 or more About $15

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

    Less
    Estimated delivery
    4,258 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $30 or more About $30

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

    Less
    Estimated delivery
    132 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $50 or more About $50

    A license for Light Table

    Less
    Estimated delivery
    186 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $50 or more About $50

    A license for Light Table and early beta access.

    Less
    Estimated delivery
    1,641 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $80 or more About $80

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

    Less
    Estimated delivery
    245 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge $100 or more About $100

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

    Less
    Estimated delivery
    138 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  8. Select this reward

    Pledge $100 or more About $100

    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.

    Less
    Estimated delivery
    260 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  9. Select this reward

    Pledge $130 or more About $130

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

    Less
    Estimated delivery
    150 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  10. Select this reward

    Pledge $200 or more About $200

    Two licenses for Light Table and pre-beta access.

    Less
    Estimated delivery
    15 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  11. Select this reward

    Pledge $200 or more About $200

    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.

    Less
    Estimated delivery
    32 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  12. Select this reward

    Pledge $230 or more About $230

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

    Less
    Estimated delivery
    19 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  13. Select this reward

    Pledge $500 or more About $500

    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.

    Less
    Estimated delivery
    Limited 23 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  14. Select this reward

    Pledge $1,000 or more About $1,000

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

    Less
    Estimated delivery
    5 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  15. Select this reward

    Pledge $5,000 or more About $5,000

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

    Less
    Estimated delivery
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  16. Select this reward

    Pledge $10,000 About $10,000

    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.

    Less
    Estimated delivery
    Limited 4 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (45 days)