So for $50 you get a license for this product. What does it cost to generate a license key or send someone an executable? Near zero? They keep like $49.98 at this tier.
For $30 you get a t-shirt. Cost to the developer? I don't know. Lets say the t-shirt costs $10. Plus the design time. Plus the prep, making sure people get the right sizes and postage time * (105 + 208). Probably making a loss at this tier.
You then have the licenses. $200 gets you 2 licenses. Wha? $500 gets you 4!? of course the benefit of the $500 is being admitted into the buggy alpha testing phase. Great..
I think they probably would have raised 300k with better tiers.
I also wonder about this Python promise. If I was a Python developer and it failed to hit 300k I might consider withholding my donation. I mean why not? I want Python support. I donate to that end. The project doesn't make it to Python support. I should remove my donation as I am not getting the product I donated to.
This kind of fund raising seems to fly in the face of what Kickstarter is about.
As Joel Spolsky points out, you might value a t-shirt at $10 because it costs $10 at The Gap. But it actually costs closer to $1. Giving away free t-shirts is basically a no-brainer in promotional terms.
The numbers aren't exact (I doubt Gap sells a t-shirt for less than $30 these days) but the point is: promotional merchandise works because it's actually worth a lot less than you think it is.
One guy I know in catering likes to bet that someone can't eat £1 worth of food. He's paying 2p for an egg and 1p for a rasher of bacon at wholesale rates...
If you want to make a shirt that people will wear, e.g. high-quality silkscreen on an American Apparel shirt, then it costs closer to $25. Even if you can make a shirt for a dollar, you're basically just throwing away that dollar.
The first 80% of getting that working is surprisingly easy; the last 80% is surprisingly hard.
I programmed in Smalltalk for years. Smalltalk has similar issues: dynamic typing, dynamic method generation/handling via #doesNotUnderstand:, and so on. Yet quite a few Smalltalk environments have accurate and useful autocompletion, on-the-fly documentation, and more.
How? You get three freebies that end up covering most situations:
1. Globals (which includes classes) are trivial to detect and centrally stored,
making it easy to pick up when a class is used in source code. So we've
now got autocomplete for all static methods and class documentation.
2. Most of the time, a variable is only actually assigned to once--or,
worst case, from one location. After that, it's merely manipulated.
See what class is getting instantiated there (see above), and you've got
a great guess on what type you're dealing with. (And, sadly, it's a
guess; "Foo new" *probably* gives you a new Foo, but it doesn't have to.)
3. Most methods *either* only get implemented once, *or* specialize a
method whose parent calls "self subclassResponsibility". So either
you've only got a single place to look-up, or you can hedge your bets
and show documentation for the version of the method that calls
"self subclassResponsibility" (i.e., the abstract one) and figure it's
applicable to the concrete instance.
These three rules (which can obviously be combined) end up working a surprisingly large amount of the time, and they're not ridiculous to implement. Granted, Python has a harder time here in some cases (e.g., you have to parse all accessible Python modules to build up a constructor list, and you'll likely have higher method collisions in Python than in Smalltalk due to the lack of keyword-based messaging), but these techniques will go a long way to getting you where you need to go.
Past that? Things get really hard. Because Smalltalk's development and execution cycle is blurry, you can actually go further than the above rules by checking what types variables are in instantiated classes and methods, and turning your source-based guesses into statistics-based ones. There's no equivalent mechanism in Python. You could probably do something with an idempotent test suite and some hooks into the Python VM, but the problem gets much more complicated. Doable? Yes. Likely to come from Light Table? I'm not honestly sure, but I am sure that they'd have to be willing to get pretty dirty with Python to get there.
I haven't used PyCharm a whole lot, but a friend of mine raves about it constantly. They've apparently added heuristics for Django (and other frameworks), so that it can make assumptions about the layout and behaviour of the code. See a render() call? You can click on the path and have it open the template correctly, even though that normally has to go through the TEMPLATE_LOADERS machinery.
You can get a long way by being slightly smart about things, instead of just relying on a naive static analysis. (I mean "naive" in the sense of ... well, not in the insulting sense :P)
It's certainly an open question, if what you gain from dynamic languages, is more or less than what you lose from having no static analysis. I got into OCaml initially because I wanted a statically-typed, type-inferred Python...
Interesting: considering the tone of the YC announcement post I had assumed that funding via Kickstarter was put on the back burner. In particular I'm surprised that support for a given language would hinge on a funding goal therein! So a number of questions come to mind: Wasn't Chris offering to return Kickstarter donations? What will happen if some people take him up on that offer after the funding period has closed? Perhaps Python support should be based off a different metric now that Chris is guaranteed funding via YC?
If I recall correctly, when Light Table was accepted into YC, Chris sent out an e-mail saying that Light Table was now guaranteed to happen and that if the only reason you donated was to make sure the project went through, you can feel free to retract the pledge (no money is withdrawn until the actual end date).
He also mentioned that with YC backing Python support was likely to happen sooner or later, but the $300k mark still puts Python in the "sooner" bucket.
I like a lot of Chris's projects, and clearly the community loves this one, but I don't yet understand whether this is open-source? I'm not sure that the language in the FAQ really means anything; at worst, it sounds deceptive.
I'm fundamentally very skeptical of an editor which I don't know that I'll be able to look inside of, hack on, extend, or fix. Given how the editor is at the center of most everything I do on a computer, all those pay-software fears are magnified for me.
Obviously 50,000,000 TextMate fans can't be wrong about paying for an editor, either, but this is a project I don't know that I can support.
I really don't like the way the funding model has gone for this project. It started simply enough, but now I really have to keep up on news to figure out what the state of play is. What next, $400k for Ruby support?
What smells bad to me is the ever increasing hype and pricetag around the thus vaporware product that is really just a bag of features that should be added to a strong and stable IDE like Eclipse with PyDev/JDT/etc. People are getting so excited by the iPhoto-pretty screenshots, and forgetting the dozens of other features they benefit from in an IDE.
"... 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 lack of money didn't stop the Linux kernel or GNU.
Are you seriously saying that Linux would be where it is now, or even be a usable OS at all, if Linus hadn't been paid to work on it for the last 15+ years, and if there had been no money from RedHat, IBM, Google and all the other companies that have contributed over the years? Please. If there hadn't, it would be like HURD - properly flat-lined for all practical intents and purposes.
So for $50 you get a license for this product. What does it cost to generate a license key or send someone an executable? Near zero? They keep like $49.98 at this tier.
For $30 you get a t-shirt. Cost to the developer? I don't know. Lets say the t-shirt costs $10. Plus the design time. Plus the prep, making sure people get the right sizes and postage time * (105 + 208). Probably making a loss at this tier.
You then have the licenses. $200 gets you 2 licenses. Wha? $500 gets you 4!? of course the benefit of the $500 is being admitted into the buggy alpha testing phase. Great..
I think they probably would have raised 300k with better tiers.
I also wonder about this Python promise. If I was a Python developer and it failed to hit 300k I might consider withholding my donation. I mean why not? I want Python support. I donate to that end. The project doesn't make it to Python support. I should remove my donation as I am not getting the product I donated to.
This kind of fund raising seems to fly in the face of what Kickstarter is about.