3 ms·
From an outside perspective this seems rather random, but we were really methodically exploring a design space. We incorporated different ideas from each IDE in
by cmontella 9y ago
From an outside perspective this seems rather random, but we were really methodically exploring a design space. We incorporated different ideas from each IDE into the next. For a long time we were working on the IDE and semantics of the language at the same time, which was really holding us back. Eventually we separated those concerns, and refined the programming model in v0.2. But in each iteration of the language, there was something missing, causing us to try a new angle, or to throw out old assumptions.
> It seems like the team never was able to close the loop on the human outcomes of what their product was supposed to enable.
What we really wanted from Eve was to define programming in a way that didn't feel like programming. We got close to this feeling in FiveSquare Eve and WikiEve. Smalltalk Eve (that's not what we called it, but what the article calls it) was probably the closest we got to this ideal, but unfortunately we didn't have enough runway to flesh it out.
- woah 9y agoWho was supposed to use it? Did you ever have them try it out?
- seanmcdirmid 9y agoIf you don't think you have the right thing yet, having other people try out what you know is the wrong thing isn't going to be very useful.
- dragonwriter 9y ago> If you don't think you have the right thing yet, having other people try out what you know is the wrong thing isn't going to be very useful. I disagree, because think ≠ know. Now, usually that's an issue we talk about when the creator thinks what they have is right, but it's just as true and relevant when they think it's wrong. You can both be wrong about it being wrong and, perhaps more often, be wrong about how it's wrong. Without some interaction with the target market, you lose feedback and course correction.
- seanmcdirmid 9y agoIf you think X is right, it might actually be right, but there is a high chance that you'll find out that it is wrong during user testing. If you think X is wrong, there is just a super high probability that X is wrong without going through users. Yes, you should interact with the target market, but good designers must have great crap filters. The crap you filter out is not going to somehow magically come up smelling roses with users. Maybe you are suggesting design by focus group?
- Glench 9y agoWhat exactly felt good about FiveSquare Eve / WikiEve / Smalltalk Eve? What internal criteria did it satisfy and how did you know?
- cmontella 9y agoIn all three you manipulated your code directly (instead of indirectly through text or other interfaces). In five square you worked with tables, and programming felt like exploring a database. You just created different tables of data and then filtered and joined them in a graphical way, then bound the result to an interface. In the end, we had a working fivesquare clone without writing a line of code, that could be built in a day or two from scratch. In Wikieve, data was presented as card, or wiki pages that you could edit. With some clever tweaks, you could ge a working program out of this, but it felt more like managing a wiki. Smalltalk Eve was more geared toward graphical applications, so a lot of neat things could be accomplished just by adding simple actions to objects on the screen. I had built a kinect application that allowed you to steer the wheels of a robot car using your hands, again without coding anything. So direct manipulation of code and the ability to see your results immediately, and to progressively change them are the properties that made these versions good.
- undecidabot 9y agoAre you planning write a postmortem on this project? I really hope you do. I'm sure you have plenty of insights to share that would be super helpful for other people exploring this space. Many of us here would really love to read up on the ideas behind each iteration, the specifics on what went well, what didn't go as expected, the target market and their feedback. It doesn't need to be a fancy paper, even a short but detailed bullet list for each iteration would be fine. From my outsider perspective, it seems like you were trying to build a "silver bullet". For example, both FiveSquare Eve and WikiEve look promising. FiveSquare could be a great WYSIWYG website/app builder. WikiEve could be a great note taking tool. Just because they aren't the future of programming, doesn't mean they aren't useful!
- cmontella 9y ago> Are you planning write a postmortem on this project? Chris has a keynote at splashcon 2018 about this: https://2018.splashcon.org/event/splash-2018-keynotes-against-the-current-what-we-learned-from-eve https://2018.splashcon.org/event/splash-2018-keynotes-agains... I'm trying to pen some of my thoughts as well, but it's taken a long time to try and distill some of these things into something comprehensible. Sometimes I don't even understand why we did some things :P > From my outsider perspective, it seems like you were trying to build a "silver bullet". For example, both FiveSquare Eve and WikiEve look promising. FiveSquare could be a great WYSIWYG website/app builder. WikiEve could be a great note taking tool. Just because they aren't the future of programming, doesn't mean they aren't useful! I think you're right about that. I think several times we could have taken a prototype Eve and made it a product people would have paid money to use. Many people said "Why don't you just make relational excel, that would go a long way to being a good useful product" and we basically did that in Grid Eve. But every time we were tempted to monetize some artifact of Eve and call it a business, we had to remind ourselves that what we had didn't really address the original problem: programming needs to be easier. And this was the right move, because if we had stopped at WikiEve or Grid Eve or whatever version and iterated on it until it was a product, then we would have missed out on learning a lot more.