EveReviewed Aug 30, 2019
Eve was founded by Chris Granger and Rob Attorri in late 2013, building on the popularity of their LightTable programming editor. In 2014, they raised $2.3M from Andreessen Horowitz and spent two years publicly blogging about their 30+ iterations, culminating in the publicly-released Eve Version 0.2, reviewed below. It's a browser-based literate programming environment with a Datalog-inspired language. Eve shut down in early 2018 after failing to find an acquirer.
- 👍 Well-designed, thoughtful interface & API
- 👎 Alpha software
The above video adds a feature and fixes a bug with a mobile messaging application in Eve. To be fair, the video is much more compelling than the reality of v0.2 the product. Bugs abound and the documentation is lacking, so I doubt I'd personally be able to recreate even a tenth of what's shown in the video. The video demonstrates:
- using the inspector to find rendering code
- adding a button to a component
- using the literate coding editor to add text and a code block
- removing a piece of HTML in response to a button click
- reproducing user state by dragging in a file
- create real-time app analytics data and charts
In traditional programming, each layer of the stack uses slightly different data structures and abstractions for reading and writing:
Eve unifies the entire programming stack into three simple operations upon records in various record-based "databases." Want to add something to the screen? Send a message to a Slack channel? Add data to the database? All of these would involve either
bind to add a record to the respective database. Want to search any of those places? It's
search, whether to be for the browser memory, localstorage, a remote database, the DOM, or an external API.
Images by Liron Shapira
When you "inspect" a place in the UI, it takes you the various places in the code that could be relevant.
- Fewer bugs
- Better docs
- More displayed live data of code execution
- Autocomplete in the editor
- Better messaging when nothing is changing due to the set-based nature of the language